- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题可能很奇怪,我目前正在研究一些旧代码(不是我写的)。我实际上不是 C 程序员,但我想了解这部分代码实际上应该做什么。幸运的是,奇怪的部分并不太长(配置的一部分):
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
如果它不是 GNU 编译器那么“choke me”
...这个choke me
应该是什么意思...我真的不明白. (并且在谷歌搜索时只发现奇怪的东西让我窒息 -.-)
最佳答案
它只是应该是一些无效的 C 并且会触发语法错误,阻止文件编译。
大概程序员不打算让代码与 GNU C (gcc) 以外的任何编译器一起工作,因此如果使用任何其他编译器,这将强制构建失败。所选择的词没有特别的意义,除了“让我窒息”的意思可能是“这是编译器无法‘吞下’的东西,它会杀死它。”
更现代的方法是使用 #error
.
关于c - #ifndef __GNUC__ 让我窒息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63734039/
这个问题可能很奇怪,我目前正在研究一些旧代码(不是我写的)。我实际上不是 C 程序员,但我想了解这部分代码实际上应该做什么。幸运的是,奇怪的部分并不太长(配置的一部分): int main () {
这个问题可能很奇怪,我目前正在研究一些旧代码(不是我写的)。我实际上不是 C 程序员,但我想了解这部分代码实际上应该做什么。幸运的是,奇怪的部分并不太长(配置的一部分): int main () {
我在 the libmagic code 中找到了这些行.它们是什么意思? #ifdef __GNUC__ __attribute__((unused)) #endif __GNUC__ 是什么意思?
我正在研究 stm 的 STM32l151rct6a,我偶然发现了这些 MACRO 定义 __CC_ARM, __ICCARM__, __GNUC__, __TASKING__ 有谁知道他们的意思吗?
我正在尝试编译 android-kernel-goldfish-2-6-29 但是当我使用 make -j2 编译它时,我得到了这个错误: include/linux/compiler-gcc.h:8
这将是一个非常奇怪的问题,但是是否可以在 visual studio 2010/2012 设置中取消定义 _WIN32 并定义 __GNUC__ 而不触及任何源代码? 我在“C/C++ -> 预处理器
这将是一个非常奇怪的问题,但是是否可以在 visual studio 2010/2012 设置中取消定义 _WIN32 并定义 __GNUC__ 而不触及任何源代码? 我在“C/C++ -> 预处理器
我是一名优秀的程序员,十分优秀!