我有一个用flex(cygwin)创建的词法分析器。通常我将它编译为.exe文件。
对于最新的项目,我需要一个词法分析器用于在Windows XP上运行的更大的C#程序。当然,我可以使用System.Diagnostics.Process执行文件。但它对我来说不是最好的解决方案,因为我希望该程序能够在多台机器上运行。
如何在具有词法分析器源代码的cygwin下创建一个dll?
提前致谢... Szpilona
答案 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 ++。