C语言 #pragma
#pragma
用于指定计算机或操作系统特定的编译器功能
#pragma once
指定该文件在编译源代码文件时仅由编译器包含(打开)一次。
#pragma message(messageString)
不中断编译的情况下,发送一个字符串文字量到标准输出。
#pragma waring(…)
启用编译器警告消息的行为和选择性修改
#pragma comment(comment-type [,“commentstring”])
该指令将一个注释记录放入一个对象文件或可执行文件中。
comment-type为以下其一
- compiler
将编译器的名称和版本号置于对象文件中。
- exestr
将 commentstring 置于对象文件中。
在链接时,会将该字符串置于可执行文件内。 加载可执行文件时,不会将字符串加载到内存中;但是,可以使用在文件中查找可打印字符串的程序来找到它。
- lib(这个最常用了)
将库搜索记录置于对象文件中。
#pragma comment(lib, "comctl32.lib")
- user
将一般注释置于对象文件中。
#pragma region … /endregion …
折叠特定的代码块。
#pragma alias(…)
指定 short_filename 将用作 long_filename 的别名。
当编译器遇到 long_filename 字符串时,都将替换 short_filename,并改为查找头文件 short_filename。
#pragma include_alias( "long_filename ", "short_filename" )
#pragma include_alias( <long_filename>, <short_filename> )
其它
#pragma pack([ show ] | [ push | pop ] [, identifier ] , n)
#pragma pack(show) 以警告信息的形式显示当前字节对齐的值。
#pragma pack(n) 将当前字节对齐值设为 n 。n==2^n。
#pragma pack() 将当前字节对齐值设为默认值(通常是8) 。
#pragma pack(push) 将当前字节对齐值压入编译栈栈顶。
#pragma pack(pop) 将编译栈栈顶的字节对齐值弹出并设为当前值。
#pragma pack(push, n) 先将当前字节对齐值压入编译栈栈顶, 然后再将 n 设为当前值。
#pragma pack(pop, n) 将编译栈栈顶的字节对齐值弹出, 然后丢弃, 再将 n 设为当前值。
#pragma pack(push, identifier) 将当前字节对齐值压入编译栈栈顶, 然后将栈中保存该值的位置标识为 identifier。
#pragma pack(pop, identifier) 将编译栈栈中标识为 identifier 位置的值弹出, 并将其设为当前值. 注意, 如果栈中所标识的位置之上还有值, 那会先被弹出并丢弃。
#pragma pack(push, identifier, n) 将当前字节对齐值压入编译栈栈顶, 然后将栈中保存该值的位置标识为 identifier, 再将 n 设为当前值。
#pragma pack(pop, identifier, n) 将编译栈栈中标识为 identifier 位置的值弹出, 然后丢弃, 再将 n 设为当前值. 注意, 如果栈中所标识的位置之上还有值, 那会先被弹出并丢弃。
#pragma hdrstop 停止编译头文件的,给我的感觉有点像“使用预编译头文件”。
#pragma inline_depth( [0…255]) 设置内联调用深度的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步