将flex文件编译成dll

发布于 2024-08-27 17:28:06 字数 244 浏览 4 评论 0原文

我有一个用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感悟人生的甜 2024-09-03 17:28:06

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++。

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 toy.l
gcc -shared toy.lexer.c

Flex or Flex++ will produce a lexer that can be compiled with or without cywgin. You can also use MinGW or Visual C++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文