程序员书籍笔记 程序员书籍笔记
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML

  • CSS

  • JavaScript

  • GO

  • 正则表达式

  • java

  • TypeScript

  • react

  • 前端知识

  • jQuery

  • Python

  • C和C++

    • C语言预处理
      • C预处理器
      • 具体使用
        • 使用
      • 预定义宏
  • 前端和后端
  • C和C++
yuadh
2022-02-03
目录

C语言预处理

# C预处理器

指令 描述
#define 定义宏
#include 包含一个源代码文件
#undef 取消已定义的宏
#ifedf 如果宏已经定义,则返回真
#ifndef 如果宏没有定义,则返回真
#if 如果给定条件为真,则编译下面代码
#else #if 的替代方案
#elif 如果前面的#if 给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个 # if... #else 条件编译快
#error 当遇到标准错误时,输出错误消息
#pragma 使用标准化方法,向编译器发布特殊的命令到编译器中

# 具体使用

#ifndef __clock_H_
#define __clock_H_ // 这个define是为了防止重复定义
#endif
1
2
3

这个预处理指令意思是

当这个文件为定义时 __colock_h_ 才定义 __colock_h_

#ifndef uchar
#define uchar unsigned char
#endif
1
2
3

当 uchar 未被定义时, 才定义 uchar的内容

# 使用

#ifndef _temp_H_
#define _temp_H_

#include <reg51.h>

//这里重定义关键词便于后面定义
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint 
#define uint unsigned int
#endif

//定义温度显示的IO口
sbit DSPORT=P3^7;

//申明函数
void Delay1ms(uint );
uchar Ds18b20Init();
void Ds18b20WriteByte(uchar com);
uchar Ds18b20ReadByte();
void  Ds18b20ChangTemp();
void  Ds18b20ReadTempCom();
int Ds18b20ReadTemp();
#endif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 预定义宏

宏 描述
__DATE__
__TIME__
__FILE__
__LINK__
__STDC__
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48
列表和元组

← 列表和元组

Theme by Vdoing | Copyright © 2021-2023 yuadh
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×