1. #pragma 作用
- #pragma 用于
指示编译器
完成一些特定的动作 - #pragma 的功能或作用 随编译器不同而变化。
即 不同的编译器可能以不同的方式解释同一条 #pragma 指令
2. 用法
常见用法示例
2.1 #pragma message
参考链接
-
自定义编译信息输出到终端(一般和#if配合使用,用在控制版本号)
-
编译的时候输出#pragma message信息,运行的时候根本看不见
-
例子:
#include <stdio.h> #define ANDROID20 #if defined ANDROID20 #pragma message "Compile Android SDK 2.0..." #define VERSION "Android 2.0" #elif defined ANDROID30 #pragma message "Compile Android SDK 3.0..." #define VERSION "Android 3.0" #elif defined ANDROID40 #pragma message "Compile Android SDK 4.0..." #define VERSION “Android 4.0” #else #error Compile Version is not provided! #endif int main() { printf("%s\n",VERSION); return 0; }
2.2 #pragma once
指示编译器头文件被编译一次
2.3 #pragama pack(n)
用于指定内存对齐(一般用在结构体)
2.4 other
参考链接