在VS2010上使用Visual C++编写C代码

6

我知道差异微乎其微,但是我需要进行一些数字计算,所以想使用C语言。我刚在VS2010中创建了一个项目,选择了C++项目并编写了一些C语言代码。所有的执行都正常,但是

这个代码是由快速的C编译器还是C++编译器创建和执行的,因为它是在C++项目中?

我该如何指定我要编写的代码实际上是C语言,并且按照C语言进行编译和运行?

3个回答

8
Visual Studio C++编译器会将所有的.c文件视为C语言文件并进行编译。
附加参考:
默认情况下,Visual C++编译器将以.c结尾的所有文件视为C源代码,以.cpp结尾的所有文件视为C++源代码。若要强制编译器将所有文件视为C文件而不考虑文件名扩展名,请使用/Tc编译器选项。

http://msdn.microsoft.com/en-us/library/bb384838.aspx


1
关于/Tc编译器选项的+1,我觉得我应该早就知道了... - Andrew Barber

0

你现在只是在胡说八道。C语言并不能保证比C++更快 - 最终它们都会被编译成本地机器指令。如果你想要真正的性能提升,应该使用另一个编译器,例如英特尔的编译器,或者使用GPU等其他方式。


0

实际上可以让您获得更快速度的是使用英特尔的编译器,该编译器可作为插件使用。在现实世界中,差异显著,尤其是在数字计算方面。C和C ++之间的区别是值得怀疑的。

这是一个很好的起点:链接文本

由于您正在进行数字计算,如果可能的话,应考虑使用SIMD扩展。在使用英特尔编译器的SIMD与直接使用MS C编译的代码相比,将会给您带来一些严重的收益。


正如Alex所说,GPU是另一个选择。你可以在这里使用OpenCL或Microsoft的Direct Compute。至于速度,如果有合适的GPU,你就进入了超级计算领域...在个人电脑上。 - IamIC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接