C/C++预编译指令
所属分类 c
浏览量 771
#指令
单纯一个#号表示空指令,没有任何作用
#include
#define #undef
#define PI 3.14
#undef PI
条件编译指令
#if #elif #else #endif
#define OPTION 2
#if OPTION == 1
cout << "Option: 1" << endl;
#elif OPTION == 2
cout << "Option: 2" << endl;
#else
cout << "Option: Illegal" << endl;
#endif
#ifdef #ifndef #endif
#ifndef MYHEAD_H
#define MYHEAD_H
#include "myhead.h"
#endif
#line
cout << "Current File: " << __FILE__ << endl;
cout << "Current Line: " << __LINE__ << endl;
#line 1000 "xxxfile"
cout << "Current File: " << __FILE__ << endl;
cout << "Current Line: " << __LINE__ << endl; //Current Line: 1001
#error
编译时输出错误信息
#define OPTION 3
#if OPTION == 1
cout << "Option: 1" << endl;
#elif OPTION == 2
cout << "Option: 2" << endl;
#else
#error ILLEGAL OPTION! //fatal error C1189: #error : ILLEGAL OPTION!
#endif
#pragma
设定编译器的状态或者是指示编译器完成一些特定的动作
#pragma once
保证头文件只被编译一次 避免重复包含
#pragma pack
规定数据在内存中的对齐长度
#pragma pack(1)
struct S{char a; int b; };
cout << sizeof(S) << endl; }
#pragma message
#define XXX
#ifdef XXX
#pragma message("XXX is defined")
#endif
#pragma warning
#pragma comment
#pragma hdrstop
预编译头文件到此为止,后面的头文件不进行预编译
#pragma resource
指定文件中的资源加入工程
#pragma resource "*.dfm"
#pragma code_seg
设置程序中函数代码存放的代码段,开发驱动程序的时候会使用到
#pragma code_seg(["section-name" [,"section-class"] ])。
#pragma data_seg
建立一个新的数据段并定义共享数据
一般用于DLL中,在DLL中定义一个共享的有名字的数据段
这个数据段中的全局变量可以被多个进程共享
否则多个进程之间无法共享DLL中的全局变量
#pragma data_seg("MyData")
int value; //共享数据
#pragma data_seg()
上一篇
下一篇
c c++ 网络库
Linux Shell 多个命令中的分号(;) && ||
Linux echo输出彩色字符串
C C++ 宏定义 # 与 ##
预定义宏 __cplusplus
c/c++标准预定义宏