首页  

C/C++预编译指令     所属分类 c 浏览量 25
#指令
单纯一个#号表示空指令,没有任何作用
        
#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++标准预定义宏