GNU flex unistd.h在VC下的编译问题
问题现象:
原因,flex生成的代码如下:
如果flex命令行调用加上 --nounistd 或者在词法描述文件中加上 %option nounistd,则可能产生如下错误:
解决方法:
1. 包含 <io.h>里面声明了windows版本的isatty函数。
2. 在词法描述文件中加上 %option never-interactive,这个选项向flex表明输入时非交互式的,此时flex不会调用isatty来查询输入设备类型。