C语言进阶学习笔记 (二)预处理

第二章:预处理

目录

    • 2.1文件包含
    • 2.2宏定义
    • 2.3常见错误
    • 2.4条件编译
    • 2.5 #pragma
      • 2.5.1 常见参数

2.1文件包含

#include"my.h" 先当前目录后系统目录
#include 先系统目录后当前目录

2.2宏定义

约定俗成都是大写
宏定义仅仅是简单宏替换,涉及到运算内容用括号()括起来。

2.3常见错误

带参数的宏和不带参数的宏,都要注意添加括号

2.4条件编译

#if xx
{}
#else
{}
#endif

#ifdef xxx
#endif

#ifndef xxx
#endif

#if defined (xxx) || defined (xxx)
#endif

2.5 #pragma

#pragma data // data为参数

2.5.1 常见参数

#pragma message(“消息”) 可以再编译的时候,通过message打印出相应的信息

#include 

#define STR 
void main(int argc,char*argv) 
{
      
	printf(" 学习 #pragma 命令中 message 参数的使用 !\n");
	#ifdef STR 
		 #pragma message("STR 已经定义过了 ") 
	#endif
	return;
}

#pragma once 用在头文件开始,保证头文件只编译一次

#pragma hdrstop 编译头文件到此为止,后面无需再编译了

#pragma pack() 修改字节对齐方式,默认4个字节

案列:#pragma pack(2)设置2个字节对齐
#pragma pack(push) 保存当前默认的字节对齐方式
#pragma pack(pop)恢复默认的字节对齐方式

你可能感兴趣的:(C语言,c语言)