【发布时间】:2018-01-29 21:03:09
【问题描述】:
我正在尝试了解#pragma 的使用,尤其是#pragma pack() 指令。当我将 pragma pack 设置为 4.5、-5、6 等时,它是如何工作的。
【问题讨论】:
-
你会知道,一旦你需要它,真的。没有必要仅仅为了理论而搞砸。
-
知道所有
#pragma都是特定于实现的可能很有用。所以一旦你发现了(我同意 Eugene 不要太早尝试),下一个编译器的答案实际上可能会有所不同。这也可能导致您的特殊情况的答案:阅读您的编译器规范/文档。 -
这在几十个网页上都有很好的解释。一个例子:stackoverflow.com/a/3318475/7673414。正如@Yunnosch 所建议的那样,极端情况下的行为可能会有所不同,因此您应该从特定编译器中查找引用。
-
您是一位经验丰富的 C 程序员吗?如果不保留 #pragmas attribute 和其他编译器特定的高级功能
-
好奇心有那么糟糕吗?理解这一点很可能有助于更好地理解计算机的一般工作原理
标签: c c-preprocessor pragma