Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅在visual studio 2012中使用C的编译选项 VisualStudio 2012中是否有编译器选项,它只编译C而不C++?我正在将一些遗留的C代码移植到VisualStudio中。有些情况下,代码会将指针与strhr之类的函数进行比较。在C STRCHR中只有一个原型,但是在C++中它有两个原型。当C++编译器无法确定要使用的原型时,会导致错误。我不想改变所有的代码,只是想告诉编译器编译C而不是C++。这可能吗?_C_Visual Studio 2012 - Fatal编程技术网

仅在visual studio 2012中使用C的编译选项 VisualStudio 2012中是否有编译器选项,它只编译C而不C++?我正在将一些遗留的C代码移植到VisualStudio中。有些情况下,代码会将指针与strhr之类的函数进行比较。在C STRCHR中只有一个原型,但是在C++中它有两个原型。当C++编译器无法确定要使用的原型时,会导致错误。我不想改变所有的代码,只是想告诉编译器编译C而不是C++。这可能吗?

仅在visual studio 2012中使用C的编译选项 VisualStudio 2012中是否有编译器选项,它只编译C而不C++?我正在将一些遗留的C代码移植到VisualStudio中。有些情况下,代码会将指针与strhr之类的函数进行比较。在C STRCHR中只有一个原型,但是在C++中它有两个原型。当C++编译器无法确定要使用的原型时,会导致错误。我不想改变所有的代码,只是想告诉编译器编译C而不是C++。这可能吗?,c,visual-studio-2012,C,Visual Studio 2012,只需将源文件命名为.c而不是.cpp。预编译程序宏可能会执行我需要的操作: 表示完全符合ANSI C标准。仅当给定/ZA编译器选项而不编译C++代码时,定义为整数常量1;否则是未定义的 当我说移植遗留代码时,这意味着现有语法、文件、文件名、扩展名.c等等。目标是尽可能少地进行更改,只需让它在VS中编译。右键单击文件、属性、c/c++、高级、编译为设置。这应该是可以发现的,花一个小时左右查看这些设置,如果不知道特定设置的含义,请按F1。源文件的扩展名是.c,而不是.cpp。我正在寻找一个选项,告诉

只需将源文件命名为.c而不是.cpp。

预编译程序宏可能会执行我需要的操作:

表示完全符合ANSI C标准。仅当给定/ZA编译器选项而不编译C++代码时,定义为整数常量1;否则是未定义的


当我说移植遗留代码时,这意味着现有语法、文件、文件名、扩展名.c等等。目标是尽可能少地进行更改,只需让它在VS中编译。右键单击文件、属性、c/c++、高级、编译为设置。这应该是可以发现的,花一个小时左右查看这些设置,如果不知道特定设置的含义,请按F1。源文件的扩展名是.c,而不是.cpp。我正在寻找一个选项,告诉编译器遵循C规则,而不是C++规则,比如/C99。/ZA选项禁用M'Stand扩展,为什么不能有类似的C/C++?@ StUAX7068:如果你有扩展名C,VisualStudio默认使用C编译器,而不是C++编译器。也许您添加了一个标志,例如/TP?否则,/TC应该可以工作。另请参见:uu STDC_uuu只是检查编译器是否遵循C标准的一种方法。这不会改变任何事情。