最必要的#pragma-s?



大家好,有问题。

我学了半年的c++,并试图理解预处理器指令,所以,我学习了#pragma,并知道#pragma曾经做过什么。

我看过很多c++程序员的视频,在那里他使用的不仅仅是这个指令。

所以,问题是:哪些#pragma是最有用的,哪些在GUI应用程序中是必要的,哪些在CLI应用程序中是必要的?我试着在网上搜索,但没有找到任何真正有用的东西。
39埋葬,0发现…

谢谢:)

Pragmas通常由编译器作者创建,用于在其特定的编译器上做非常具体的事情,例如打开和关闭编译器功能,或调整汇编代码生成的方式。如果你在一个有用的情况下,你会知道的。例如,Microsoft的#pragma optimize允许您更改单个函数的优化级别。如果你出于某种原因想这样做,你可以谷歌一下,找到这个pragma。

Microsoft的pragmas记录在这里。GCC的pragmas在这里和这里被记录。

虽然它们中的大多数是针对特定的不寻常的场景,但有一些在每个编译器上都很有用,所以浏览一下列表只是为了了解可用的内容并没有错。

也许最常用的pragmas是#pragma pack(GCC Microsoft),它影响结构体的内存布局,#pragma warning(Microsoft)/#pragma GCC diagnostic(GCC),它允许您在代码的某些部分关闭某些编译器警告,以及#pragma once(GCC Microsoft),这是一个快捷方式,包括不适用于所有编译器的保护。

最新更新