c语言头文件 “宏”有哪些

Python019

c语言头文件 “宏”有哪些,第1张

#include <assert.h>//设定插入点

#include <ctype.h>//字符处理

#include <errno.h>//定义错误码

#include <float.h>//浮点数处理

#include <fstream.h>//文件输入/输出

#include <iomanip.h>//参数化输入/输出

#include <iostream.h>//数据流输入/输出

#include <limits.h>//定义各种数据类型最值常量

#include <locale.h>//定义本地化函数

#include <math.h>//定义数学函数

#include <stdio.h>//定义输入/输出函数

#include <stdlib.h>//定义杂项函数及内存分配函数

#include <string.h>//字符串处理

#include <strstrea.h>//基于数组的输入/输出

#include <time.h>//定义关于时间的函数

#include <wchar.h>//宽字符处理及输入/输出

#include <wctype.h>//宽字符分类

像 afx.h 文件。漏写了许多反斜杠

反斜杠 表示下面的行应当和本行在同一行。

宏 [#define 这串字符串 一大堆东西]

作用是以后遇到 这串字符串 就替换为 一大堆东西。

#define DECLARE_DYNAMIC(class_name) 反斜杠一大堆东西

因为有(class_name),叫 变参宏,

这串字符串 是 DECLARE_DYNAMIC(变参),替换作业时,一大堆东西里的 class_name 也要用 实参 代替。

#ifdef _AFXDLL

#define DECLARE_DYNAMIC(class_name) 反斜杠一大堆东西

#else

#define DECLARE_DYNAMIC(class_name) 反斜杠 另外一大堆东西

#endif

如果定义了 _AFXDLL,则 这串字符串 用 一大堆东西 替换,class_name 也用实参替换

否则,这串字符串 用 另一大堆东西 替换,class_name 也用实参替换

## 表示 前后两 token 连接

读一下参考资料,了解 # 和 ## 应用,如何做宏替代。

是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。

“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。

计算机语言如C语言或 汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C程序员可以获得更精巧的宏。

在Objective-C语言源程序中,允许用一个标识符来表示一个字符串,称为宏,被定义为宏的标识符称为宏名。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字符串去替换,这称为宏替换或宏展开。

宏定义是由源程序中的宏定义命令完成的,宏替换是由预处理程序自动完成的。在Objective-C语言中,宏分为有参数和无参数两种。

扩展资料

A类宏是用G65 Hxx P#xx Q#xx R#xx或G65

Hxx P#xx Qxx

Rxx格式输入的,xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM #xx就是变量号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量。

一般OTD系有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据。我们如果说#100=30那么现在#100地址内的数据就是30了。

B类宏能完成某一功能的一系列指令像子程序那样存入存储器,用户可以设定M、S、T、G代码调用它们,使用时只需给出这个指令代码就能执行其功能,也可以像调用子程序一样使用。

参考资料来源:百度百科——宏程序

参考资料来源:百度百科——宏定义

参考资料来源:百度百科——宏命令