gpt4 book ai didi

c - 定义 C 中标点符号的替代品

转载 作者:行者123 更新时间:2023-11-30 15:03:44 24 4
gpt4 key购买 nike

几天前,有人告诉我他们的键盘有问题,导致他们无法在键盘上输入 (。在编写 C 时,我想到的第一件事就是复制来自某处的字符然后粘贴它或尝试使用预处理器指令 #define 。一旦我尝试使用 #define ,我意识到 gcc 不允许我写像 #define OB ( ,我非常明白为什么。是否可以编写类似的东西,让我使用 #define 替换标点符号?

最佳答案

如果有 ( 的三字母,我会建议这样做。否则你的宏解决方案可能会起作用,但不幸的是,当用 C 或头文件编写时,它无法按照你想要的方式进行解析.但是,使用gcc,您可以使用-D选项直接指定该宏。

示例:

int main OB ) {
printf OB "Hello, world\n");
}

我可以使用以下命令编译它:cc -o test test.c -DOB='('。我需要添加',否则bash 不会接受这一点。

您还可以使用 make 将额外参数添加到 CPPFLAGS: CPPFLAGS+="-DOB='('"make test - 再次你需要比平时更多的引号,否则所有 shell 都无法理解不带引号的 (。当然,你可以直接将 CPPFLAGS+=-DOB='(' 添加到 生成文件

编辑:事实上,您仍然可以在代码中使用宏。但是你必须告诉 gcc ( 不是宏标识符的一部分。以下内容对我有用:

#define OB \
(
int main OB ) {
printf OB "Hello, world\n");
}

关于c - 定义 C 中标点符号的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40584149/

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