什么是代码块IDE中的“用户关键字”?

问题描述 投票:-1回答:3

我刚刚在codeblocks IDE中发现了一些有趣的东西,通过编辑器设置>语法高亮,说'用户关键字',我知道它们是保留的关键字,如for,int,signed等,但这些应该是什么?

我最好的猜测是它真的意味着'象征常数'。 Google和Stack溢出似乎没有给我任何关于它们的信息。但是我知道你不能真正创建自己的关键字,因为它们是C/C++语言的一部分。

有任何想法吗?只是好奇。

c++ c ide codeblocks
3个回答
2
投票

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

您无法以编译器理解的方式创建自己的自己。您需要将IDE的功能与编译器的功能分开。 IDE具有显示特殊颜色的关键字的功能。这很容易理解。但CodeBlocks并不依赖于您用来“弄清楚”令牌是关键字的编译器。它有自己的处理器。

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


2
投票

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


1
投票

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

通常emit 评估板 宏扩大到没有

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

Using emit vs calling a signal as if it's a regular function in Qt

编译器通常会有自己的关键字,而这些关键字并不符合标准。例如,GCC(C ++)支持许多C11关键字,如__thread__restrict。您可能需要手动添加这些以获取语法突出显示。

© www.soinside.com 2019 - 2024. All rights reserved.