将flex文件编译成dll
我有一个用 flex (cygwin) 创建的词法分析器。通常我将其编译为 .exe 文件。
对于最新的项目,我需要一个词法分析器在 Windows XP 上运行的更大的 C# 程序中使用。当然,我可以使用 System.Diagnostics.Process 执行文件。但这对我来说不是最好的解决方案,因为我希望该程序在多台机器上运行。
如何在 cygwin 下创建具有词法分析器源代码的 dll?
提前致谢... 斯皮洛纳
I've got a lexer created with flex (cygwin). Normally I compile it to an .exe file.
For the newest project I need a lexer to use in a bigger C# program running on Windows XP. Of course I can execute a file using System.Diagnostics.Process. But it is not the best solution for me as I want that program to run on several machines.
How can I create a dll under cygwin having the source code of the lexer?
Thanks in advance...
Szpilona
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Flex 使用 yylex() 函数生成 C 或 C++ 源文件。
在语法(.l 文件)上运行 flex 以生成 .c 或 .cpp 文件,然后使用 gcc -c 编译该文件以生成目标文件,或使用 gcc -shared 编译该文件以生成 .so 库。
Flex 或 Flex++ 将生成一个可以使用或不使用 cywgin 进行编译的词法分析器。您还可以使用 MinGW 或 Visual C++。
Flex produces a C or C++ source file with a yylex() function.
Run flex on your grammar (.l file) to produce a .c or .cpp file, then compile that file with gcc -c to produce an object file, or compile it with gcc -shared to produce a .so library.
Flex or Flex++ will produce a lexer that can be compiled with or without cywgin. You can also use MinGW or Visual C++.