将flex文件编译为dll

时间:2010-04-08 03:00:00

标签: dll compilation cygwin flex-lexer

我有一个用flex(cygwin)创建的词法分析器。通常我将它编译为.exe文件。

对于最新的项目,我需要一个词法分析器用于在Windows XP上运行的更大的C#程序。当然,我可以使用System.Diagnostics.Process执行文件。但它对我来说不是最好的解决方案,因为我希望该程序能够在多台机器上运行。

如何在具有词法分析器源代码的cygwin下创建一个dll?

提前致谢... Szpilona

1 个答案:

答案 0 :(得分:1)

Flex使用yylex()函数生成C或C ++源文件。

在语法(.l文件)上运行flex以生成.c或.cpp文件,然后使用gcc -c编译该文件以生成目标文件,或使用gcc -shared编译它以生成.so库

flex toy.l
gcc -shared toy.lexer.c

Flex或Flex ++将生成一个词法分析器,可以使用或不使用cywgin进行编译。您也可以使用MinGW或Visual C ++。