c++ - 如何在 Visual Studio 中知道项目是 C 还是 C++?

标签 c++ c visual-studio compiler-construction

Visual Studio 如何知道项目是 C 还是 C++?是否有任何配置或构建参数表明这一点?

VS 是否对 C 使用 C 编译器,对 C++ 使用 C++ 编译器?

最佳答案

Does VS use C compiler for C, and C++ compiler for C++ ?

没有

cl 编译器足够聪明,可以知道(基于文件扩展名)文件是 .cpp 还是 .cc 文件 -它认为是 C++ 文件。而cl 编译器会将.c 文件视为C 程序源文件,并进行相应的编译。虽然它确实加载了一个单独的 dll 文件来编译 CC++ 文件。但这是实现定义的。

但是,有一个开关可以根据文件扩展名覆盖 cl 的行为。

要编译为 C++ 源文件(即使扩展名为 .c),命令为: cl/TP yourfile.c 但是请注意,该文件应包含有效的 C++ 代码。

要编译为 C 源文件(扩展名为 .cpp),命令为: cl/TC yourfile.cpp 但是请注意,该文件应包含有效的 C 代码。

关于c++ - 如何在 Visual Studio 中知道项目是 C 还是 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15548337/

相关文章:

c - 如何引用嵌套结构中的指针?

c - 关于使用 size_t

visual-studio - 应用程序正在 Azure 创建的 Azure 数据库中运行,但数据未迁移

c# - Iphone 移动应用程序中的圆形图像范围 (Xamarin.Ios/C#)

c - 如何仅在没有尾随零时才将小数点显示到 2 位小数

.net - 链接 .Net 程序集

c++ - Quake 2 中的 Windows 消息循环实现

android - 如何编译 Telegram jni文件夹

C++令人困惑的状态变量行为

c++ - 重定向标准输出时调用 dup2 失败