flex-lexer - 什么时候可以使用更新版本的 flex for windows?

标签 flex-lexer gnuwin32

我正在使用 flex (词法分析器,而不是 Adob​​e Flex)在一个项目上。但是,我也希望能够在 Windows 平台上进行编译,但是 Windows version的最新版本只有 2.5.4a,所以它不会为 2.5.35 版本编译我的文件。不,我无法降级到受支持的最高 Windows 版本。

有谁知道升级 windows 版本的计划,或者有任何在 windows 上编译的建议?

最佳答案

您可以在邮件列表中提问,或者自己参与 Flex 项目。我认为 Flex 的代码库在一段时间内保持不变,但我不知道谁在维护 Windows 端口。在此期间...

我建议在您的项目中包含生成的源代码

  1. 在 Linux 系统上生成词法分析器以生成 lex.c/lex.h 文件(或其他文件)
  2. 在构建之前将这些文件包含在您的 Win32 C 源代码中

如果您不能直接访问 Linux 系统,虚拟机可能是个好主意。 Flex 源代码应该符合某些构建在 Windows 上的 C 标准,但大多数 POSIX 差异都可以更改为相当容易地使用 Win32 API。

也许分发为:

/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c

这样,具有现代 flex 的系统 可以从 lex 文件生成源代码,而编译源代码的 Windows 系统可以使用互补的预处理 C 文件。

缺少使用一些用户空间 POSIX(Cygwin 或其他)。

需要进行一些调整,但这种便携性不适合您!

关于flex-lexer - 什么时候可以使用更新版本的 flex for windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148329/

相关文章:

linux - 将 flex 的命令行参数作为搜索字符串

c++ - 当我似乎包含正确的标题时,找不到符号错误

compiler-construction - GNU flex 库 libfl 提供什么?

python - Windows 上缺少 `magic` 库的文件

emacs rgrep 在 find 命令中失败 (Windows 7)

c - lex 和 yacc — 组合两个词法分析器和一个 yacc

makefile - Yacc 和 Lex 包含混淆

python word2vec 没有安装

python-2.7 - SIP Makefile 失败(gnuwin 和 mingw)