gpt4 book ai didi

c++ - 确保 VS 2008 将我的项目视为 C++ 而不是 C++/CLI

转载 作者:太空狗 更新时间:2023-10-29 23:37:32 24 4
gpt4 key购买 nike

我在使用原生 C++ 的 Visual Studio 2008 中工作。

一位同事写了一个库,他将其中一个类命名为interface。这是一个构造函数:

template <typename DtedInterface>
interface<DtedInterface>::interface (
std::string const& tleFile,
std::string const& dtedDir,
dted::DtedLevel const& dtedLevel,
double sw_latitude,
double sw_longitude,
unsigned int rows,
unsigned int columns )
: m_impl ( new interface_impl<DtedInterface> ( theFile, dtedDir, dtedLevel, sw_latitude, sw_longitude, rows, columns ) )
{}

令我担心的是 Visual Studio 2008 将 interface 一词突出显示为关键字; interface 是 C++/CLI 中的关键字,但不是 C++。这看起来不像是有效的 C++/CLI,但对于 native C++ 来说没问题。

看起来它们编译得很好,但我如何确保 Visual Studio 将其解释为 C++ 而不是 C++/CLI?在某些 级别,VS 似乎将其视为 C++/CLI。只是关键字高亮设置吗?

最佳答案

Visual Studio IDE 和 Visual C++ 编译器是两个独立的实体。具体来说,它们是作为独立进程运行的两个独立的可执行文件(IDE 的 devenv.exe 和编译器的 cl.exe)。 IDE 只是生成 cl.exe 进程来执行实际的编译。

IDE 在某处有一个关键字列表,它只是告诉文本编辑器要突出显示哪些词。它不是 super 复杂;它不一定是。编译器有最终决定权,而不是语法高亮器(或 Intellisense)。

只要/clr switch未传递给 cl.exe 进程,编译器会将代码编译为 native C++(这是默认设置)。 IDE 只需输入源代码的文件路径,编译器就会将其作为命令行参数切换到 cl.exe 进程。语法突出显示与编译器如何解释代码无关。

关于c++ - 确保 VS 2008 将我的项目视为 C++ 而不是 C++/CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com