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

How to compile flex code in order to obtain a dynamic library?

本文关键字:动态 代码 flex 何编译 编译      更新时间:2023-10-16

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

(在评论中回答了问题。请参阅没有答案的问题,但在评论中解决了问题(或在聊天中扩展)

@Josh写道:

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

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

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

如果你只是想学习如何使用gcc创建一个共享库,那么在谷歌上快速搜索应该会得到很多好结果。如果你遇到了特定的问题,你可以从那里得到进一步的帮助。