代码块 IDE 中'user keywords'了哪些内容?

What are 'user keywords' in the codeblocks IDE?

本文关键字:user IDE 代码 keywords      更新时间:2023-10-16

我刚刚注意到codeblocks IDE中有一些有趣的东西,通过编辑器设置>语法突出显示,说"用户关键字",我知道它们是保留关键字,例如for,int,signed等,但是这些应该是什么?

我最好的猜测是它实际上意味着"符号常数"。Google和Stack overflow似乎没有给我任何关于它们是什么的信息。但是,我知道您无法真正创建自己的关键字,因为它们是C/C++语言的一部分。

有什么想法吗?只是好奇。

但是我知道您无法真正创建自己的关键字,因为它们是C/C++语言的一部分

您不能以编译器可以理解的方式创建自己的。您需要将 IDE 执行的操作与编译器执行的操作分开。IDE 具有用于显示具有特殊颜色的关键字的功能。这很容易理解。但是CodeBlocks并不依赖于你用来"找出"令牌是一个关键字的编译器。它有自己的处理器。

那么,当您更新编译器并且它支持较新版本的语言时会发生什么?您的 IDE 无法神奇地效仿。它不会支持这些开箱即用的新关键字。这就是为什么它允许您指定"用户关键字"。因此,您可能会看到突出显示的新关键字。

你是

对的,你不能在C++中创建新的关键字。正如您所注意到的,此选项用于语法突出显示。如果您想在代码编辑器中突出显示任何单词,则可以在此处输入任何单词。代码编辑器将突出显示您的单词,以便更容易在代码中识别它们。突出显示或换句话说,着色是该设置的唯一目的。

调用Qt信号时可能会emit用户关键字的示例。尽管qt信号在技术上是函数,但它们是元编译的,旨在改变其类范围之外的状态。这就是为什么许多开发人员喜欢明确装饰它们的原因。

通常emit评估宏扩展为无

有关 emit 如何工作的解释,请参阅此问题:

使用发出与调用信号,就好像它是Qt中的常规函数一样

通常,编译器会有自己的关键字,这些关键字不在标准中正式列出。例如,GCC(C++(支持许多C11关键字,如__thread__restrict。您可能需要手动添加这些内容才能突出显示语法。