当我使用just编译程序时
gcc code.c
没有消息,并且成功生成了输出文件.输出的文件有效.但是,当我尝试在IDE中使用相同的cygwin安装的gcc编译器时(我尝试过Netbeans和Dev-C),我收到以下错误
main.cpp:27: error: `exit' undeclared (first use this function)
main.cpp:27: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:77: error: `write' undeclared (first use this function)
main.cpp:78: error: `close' undeclared (first use this function)
我看不出有什么不同.为什么不编译?
好的,问题是在IDE中,文件的扩展名为.cpp,而当我从终端编译时,它的扩展名为.c.所以,我的新问题是为什么它被视为c文件时不能编译. C不是C的子集吗?
解决方法:
C比C更严格.C允许你在没有原型的情况下调用函数,C不允许这样做.
要解决此问题,您需要添加:
#include <stdlib.h>
此外,在命令行编译时.确保使用-Wall标志,以便获得重要警告:
gcc -Wall code.c