打开一个DEV C++的工程文件(.dev),如何判断该工程按C语法编译还是按C++语法编译?
该问题基于以下事实,不能通过看工程里包含的文件时.c还是.cpp来判断:创建C++空工程↓编一个符合C++语法但不符合C语法的源文件,保存成.cpp比如包含for(int...
该问题基于以下事实,不能通过看工程里包含的文件时.c还是.cpp来判断:
创建C++空工程
↓
编一个符合C++语法但不符合C语法的源文件,保存成.cpp
比如包含 for(int i=0,i<10,++i) 语法就不符合C
↓
编译能通过
↓
将文件改成.c
↓
编译仍然能通过,说明即使文件名是.c,但工程是C++工程,仍按C语法进行编译。 展开
创建C++空工程
↓
编一个符合C++语法但不符合C语法的源文件,保存成.cpp
比如包含 for(int i=0,i<10,++i) 语法就不符合C
↓
编译能通过
↓
将文件改成.c
↓
编译仍然能通过,说明即使文件名是.c,但工程是C++工程,仍按C语法进行编译。 展开
2个回答
追问
我主要想问一下如何看一个工程是C工程还是C++工程。
我举的例子是,新建一个C++工程,将你的文件保存成.cpp,编译通过,再把文件名改成.c(而不是新建一个C工程),编译也通过。应该说明用什么编译器来编不取决于后缀。
追答
我研究了一下,这个貌似跟工程是没有关系的吧
比如我新建一个C的空工程。
新建一个main.c文件,
#include #include
int main(int argc, char *argv[])
{
for(int i=0;i<2;i++)
printf("hello\n");
system("PAUSE");
return 0;
}
编译不会通过,但是我将该文件重命名为main.cpp,此时编译可以通过,此时再命令为main.c,编译又可以通过。
这个说明文件一旦后缀为.cpp,使用g++编译后,默认,采取这个编译器了,只有初始化后缀为.c时,才会使用gcc编译。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询