在我之前的问题中,我询问了编译c存在命名问题的地方,因为在一些重命名之后,C++保留字比C我现在意识到的要多,这是楔子的薄弱环节。
示例:Test.c:
#include <math.h>
int test()
{
int n = pow(10, 10);
return n;
}
因为 C++ 中的 math.h 为 定义了重载pow,而这些都不是int, int它不知道选择哪个。
出现的其他问题包括:
- Int 不是默认类型,例如
static x = 1;失败 - 参数类型可以在签名之后但在正文之前定义
c,但不能c++
等等,在这个项目上进行转换基本上不是一件简单的工作。我不想改变它的另一个原因是它仍然必须在另一个编译器中C编译。
所以我不是要解决这些问题,它们非常明显,只是在这个庞大的项目上耗时。我正在寻找一种c在视觉工作室中几乎“按原样”编译的方法,或者一个明确的“不,这是不可能的”。
我试过的:
- 通过 Project->Properties->C/C++->Advanced->Compile as C Code 强制 c 编译
- 通过 Project->Properties->C/C++->Language->Disable Language Extensions 关闭扩展