VC预处理:Pragma Directives
来源:互联网 发布:小丑皇噩梦军团 知乎 编辑:程序博客网 时间:2024/06/11 13:30
转载自http://msdn.microsoft.com/en-us/library/d9x1s805(v=vs.80).aspx
Each implementation of C and C++ supports some features unique to its host machine or operating system. Some programs, for instance, need to exercise precise control over the memory areas where data is placed or to control the way certain functions receive parameters. The #pragma directives offer a way for each compiler to offer machine- and operating system-specific features while retaining overall compatibility with the C and C++ languages. Pragmas are machine- or operating system-specific by definition, and are usually different for every compiler.
Pragmas can be used in conditional statements, to provide new preprocessor functionality, or to provide implementation-defined information to the compiler. The Microsoft C and C++ compilers recognize the following pragmas:
alloc_text
auto_inline
bss_seg
check_stack
code_seg
comment
component
conform1
const_seg
data_seg
deprecated
fenv_access
float_control
fp_contract
function
hdrstop
include_alias
init_seg1
inline_depth
inline_recursion
intrinsic
make_public
managed
message
omp
once
optimize
pack
pointers_to_members1
pop_macro
push_macro
region, endregion
runtime_checks
section
setlocale
strict_gs_check
unmanaged
vtordisp1
warning
1. Supported only by the C++ compiler.
The token-string is a series of characters that gives a specific compiler instruction and arguments, if any. The number sign (#) must be the first non-white-space character on the line containing the pragma; white-space characters can separate the number sign and the word pragma. Following #pragma, write any text that the translator can parse as preprocessing tokens. The argument to #pragma is subject to macro expansion.
If the compiler finds a pragma it does not recognize, it issues a warning, but compilation continues.
Some pragmas provide the same functionality as compiler options. When a pragma is encountered in source code, it overrides the behavior specified by the compiler option. For example, if you specified /Zp8, you can override this compiler setting for specific portions of the code with pack:
cl /Zp8 ...<file> - packing is 8// ...#pragma pack(push, 1) - packing is now 1// ...#pragma pack(pop) - packing is 8</file>
- VC预处理:Pragma Directives
- Pragma Directives
- #Pragma Directives
- Preprocessor directives:预处理指令,宏定义,行控制,条件包含,错误提示,源文件包含,Pragma
- #pragma 预处理
- 预处理pragma
- #pragma 预处理指令详解
- #pragma 预处理指令详解
- #pragma 预处理指令详解
- #pragma 预处理指令详解
- #pragma 预处理指令详解
- #pragma 预处理指令详解
- #pragma预处理指令详解
- #pragma预处理指令详解
- #pragma 预处理指令详解- -
- #pragma 预处理指令详解
- #pragma 预处理指令解析
- #pragma 预处理指令详解
- Iphone开发UILable和UITextField
- Android编译系统(三):官方文档Android Build System
- android两种推送比较
- Eclipse3.6+JqueryWTP1.2实现Eclipse的Jquery智能提示功能
- Android实战技巧:Dialog
- VC预处理:Pragma Directives
- Android编译系统(四):Android 编译系统框架分析及main.mk分析
- sql的case语句
- android 系统 makefile文件(Android.mk)组织结构
- datagridview 数据动态添加
- careercup5.3
- Win7界面布局分析
- 网页前端瀑布流布局效果Jquery插件“Masonry”
- 好看的按钮效果