如何编译flex代码以获得动态库?

时间:2013-12-05 16:50:55

标签: c++ c flex-lexer

我想编译我的flex scanner.l,以便从我的C / C ++项目中调用动态库。这样做的正确方法是什么?我是否可以在不同的线程中同时从我的C / C ++程序调用扫描仪?

1 个答案:

答案 0 :(得分:2)

(问题在评论中回答。见Question with no answers, but issue solved in the comments (or extended in chat)

@Josh写道:

  

与使用编译器创建任何其他动态库的方式相同。

     

让你的其他程序调用lex.yy.c中定义的方法。当你去编译时,告诉gcc编译你的主程序和lex.yy.c.使它成为一个动态库似乎有点矫枉过正。

     

Flex可以生成一个可重入的解析器(对于多线程应用程序是安全的):
  Flex manual

     

如果您只想学习如何使用gcc创建共享库,快速谷歌搜索应该会产生很多好结果。如果您遇到特定问题,可以从那里进一步帮助您。