c/c++--编译指令(预处理之后) #pragma

1. #pragma 作用

  • #pragma 用于指示编译器完成一些特定的动作
  • #pragma 的功能或作用 随编译器不同而变化
    即 不同的编译器可能以不同的方式解释同一条 #pragma 指令

2. 用法

常见用法示例

2.1 #pragma message

参考链接

  • 自定义编译信息输出到终端(一般和#if配合使用,用在控制版本号)

  • 编译的时候输出#pragma message信息,运行的时候根本看不见

  • 例子:

    #include 
    #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;
    }
    

c/c++--编译指令(预处理之后) #pragma_第1张图片

2.2 #pragma once

指示编译器头文件被编译一次

2.3 #pragama pack(n)

用于指定内存对齐(一般用在结构体)

2.4 other

参考链接

你可能感兴趣的:(Computer,related,knowledge,C++,C,c语言,c++,开发语言)