微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以全局#define宏? 供实时错误检查器查看

如何解决是否可以全局#define宏? 供实时错误检查器查看

“宏”是指简单的值,例如:“#define FOO 123”。

我安装了VS 代码(不是Visual Studio)以及C / C ++和Visual intellicode扩展。

我有一个在另一个IDE中创建的项目的文件夹,我仍将使用该文件夹进行调试等操作,尤其是针对某些嵌入式目标。 IDE及其配置代码生成器/供应商库使用了 global define 的概念。 (基于Eclipse)。 例如。每个源文件都有一些#define可见的,而没有它们的任何标头:它被传递给编译器以及IDE的“实时”错误检查引擎。

一些自动生成标题文件或来自供应商的库文件都已设置为例如这样的全局#define将从库涵盖的一系列目标中选择要为其编译具体硬件目标的代码

因此,我在VS Code中打开该文件夹,然后从该文件夹中打开源文件。 VS Code的实时错误检查器强调某些类型。它可以找到它们(Ctrl + Lclick),但是它们被标记为“未定义”。大概是因为它不了解这些全局定义,因此没有任何特定于目标的代码通过其编译开关启用。

我发现了一个SO问题,涉及向 makefile 项目添加定义以进行构建。 这对这里没有帮助,我不想使用VS Code构建。 我希望VS Code “实时”错误检查器知道这些类型,从而使视觉上的非真的问题消失。

编辑:当然,自动补全也不适用于我也要修复的“未定义”类型。

有可能吗?

解决方法

按Ctrl + Shift + P打开命令窗口,然后,如果您以前安装了C / C ++扩展名,则将有多个C / C ++设置(多少取决于文件夹中的源类型)您打开的工作区)。 从那里,您可以选择: C / C ++:编辑配置(UI)

C/C++: Edit Configurations (UI)

在随后打开的标签页上,您将看到诸如编译器路径和特定于编译器的智能感知模式之类的设置。 在下面滚动一些,将出现“定义指令”框。 可以通过其中的3个默认预定义项目轻松发现它们:_DEBUG,UNICODE和_UNICODE。 请参见下图中心的黄色框。 不要被红色方框分散注意力。 (很抱歉,它不是英语,但是盒子的大小和位置应该有一定的方向。) Defines

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。