Windows10下Dev-C++搭配Flex执行./a.out报错,求解决
在Windows 10下用Dev-C+++Flex开发Lex程序,执行
./a.out报错的解决办法 问题根源
你踩了Windows和类Unix系统(Linux/macOS)命令语法差异的坑:
- 在类Unix环境里,
./a.out是执行当前目录下默认编译生成的a.out可执行文件,但Windows下GCC编译出来的可执行文件后缀是.exe,默认文件名是a.exe,根本不存在a.out这个文件。 - 另外,Windows命令提示符里不需要用
./来指定当前目录的文件,直接输入文件名就能识别。
快速解决方法
编译完成后,直接在CMD里输入以下任意一条命令就能运行程序:
a.exe
或者更省事,因为Windows会自动识别.exe后缀,直接输入:
a
进阶小技巧
如果不想每次都用默认的a.exe,可以在编译时用-o参数自定义可执行文件名,比如:
gcc lex.yy.c -o my_lex_program.exe
之后执行的时候就输入my_lex_program或者my_lex_program.exe就行,更直观好记。
内容的提问来源于stack exchange,提问作者krith
相关产品推荐
相关产品推荐

