嵌入式开发第10天(高级议题,C语言结束)

本文详细介绍了C语言中的头文件定义、宏定义及其注意事项,并深入探讨了宏条件编译的不同方式,帮助读者理解如何有效利用这些特性来增强代码的灵活性与可维护性。

头文件定义
#include <stdio.h>  //在系统库文件路径里面去找到对应的应头文件
#include "add.h"    //先在当前文件路径下去寻找对应的头文件,如果查找不到,再到库头文件去查找。如果库头文件没有文件,则报错。

宏定义
#define 

1、定义一个宏名  #define MACRO   //一般用于#ifdef 判断 (习惯性大写,但也可以小心)


2、定义有特殊作用的宏 #define NUMBER 100  //#define led P1^1 
既定义一个宏名 NUMBER 
也给这个宏名赋了 100  

#define MYPRI  printf //用于代替关键printf,方便以后调试去掉打印信息


3、可以参数的宏定义
#define MAX(x,y)  ((x)>(y)?(x):(y))

注意:
1、宏名尽量大写
2、宏表示的内容最好用()括起来
3、注意宏里面最好不要出现;
4、宏实现的功能也是要尽可能剪短



宏条件编译
1)

#ifdef xxxx // 如果定义了XXX宏,则进行

xxxxx;

#ifndef xxxx // 如果没有定义了XXX宏,则进行

xxxxx;

 (#elsif)  

 #else 

  #endif //所有条件编译 必须使用 #endif结尾

2)

#if     expression //如果expression为真  ,expression可以是 一个表达式或者一个整数。
 

  #else         

   #endif








宋宝华嵌入式 C/C++语言精华文章集锦 C/C+语言 struct 深层探索 ............................................................................2 C++中 extern "C"含义深层探索........................................................................7 C 语言高效编程的几招...............................................................................11 想成为嵌入式程序员应知道的 0x10 个基本问题 .........................................................15 C 语言嵌入式系统编程修炼...........................................................................22 C 语言嵌入式系统编程修炼之一:背景篇 ............................................................22 C 语言嵌入式系统编程修炼之二:软件架构篇 ........................................................24 C 语言嵌入式系统编程修炼之三:内存操作 ..........................................................30 C 语言嵌入式系统编程修炼之四:屏幕操作 ..........................................................36 C 语言嵌入式系统编程修炼之五:键盘操作 ..........................................................43 C 语言嵌入式系统编程修炼之六:性能优化 ..........................................................46 C/C++语言 void 及 void 指针深层探索 .................................................................50 C/C++语言可变参数表深层探索 .......................................................................54 C/C++数组名与指针区别深层探索 .....................................................................60 C/C++程序员应聘常见面试题深入剖析(1) ..............................................................62 C/C++程序员应聘常见面试题深入剖析(2) ..............................................................67 一道著名外企面试题的抽丝剥茧 ......................................................................74 C/C++结构体的一个高级特性――指定成员的位数 .......................................................78 C/C++中的近指令、远指针和巨指针 ...................................................................80 从两道经典试题谈 C/C++中联合体(union)的使用 ......................................................81 基于 ARM 的嵌入式 Linux 移植真实体验 ................................................................83 基于 ARM 的嵌入式 Linux 移植真实体验(1)――基本概念 ...........................................83 基于 ARM 的嵌入式 Linux 移植真实体验(2)――BootLoader .........................................96 基于 ARM 的嵌入式 Linux 移植真实体验(3)――操作系统 ..........................................111 基于 ARM 的嵌入式 Linux 移植真实体验(4)――设备驱动 ..........................................120 基于 ARM 的嵌入式 Linux 移植真实体验(5)――应用实例 ..........................................135 深入浅出 Linux 设备驱动编程 .......................................................................144 1.Linux 内核模块..............................................................................144 2.字符设备驱动程序 ...........................................................................146 3.设备驱动中的并发控制 .......................................................................151 4.设备的阻塞与非阻塞操作 .....................................................................157
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交叉编译之王 hahaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值