大家好,有问题。
我学了半年的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),这是一个快捷方式,包括不适用于所有编译器的保护。