首页 > 编程语言 >2022.02.11.程序生成过程

2022.02.11.程序生成过程

时间:2023-01-06 12:34:33浏览次数:40  
标签:11 文件 cout ## 2022.02 生成 CLASS define

程序生成的过程:
1. 预处理: .i文件
 头文件的展开:
 宏的替换
 预处理指令解析 #ifndef ,#if #ifdef #else #elif #endif
 去掉注释
2.编译: 预处理后的文件 生成汇编文件 .asm(汇编代码)
 词法解析、语法解析、语义分析、优化

3.汇编:汇编文件进一步处理 ,生成目标机器指令(二进制文件.obj)

4.链接:将多个目标文件(库文件)链接生成可执行程序(.exe,.out)。

// 替换作用,
#define AA 8


/* 反斜杠\: 连接当前行和下一行 ,最后一行一般不加 \ ,后面不要有任何字符(空格、tab、注释) */

#define BB for(int i=0;i<AA;i++){\
cout<<i<<endl;\
}

// 宏可以带参数:替换作用,不会做表达式的计算和求解
#define CC(NUM) for(int i=0;i<NUM;i++){\
cout<<i<<endl;\
}


#define Mul(A,B) ((A)*(B))

// ## 拼接
#define DD()\
int a##b = 20;


#define EE(CLASS)\
CLASS obj##CLASS;\
obj##CLASS.show();


//# : 将参数转成字符串 ,相当于加双引号
#define FF(PARAM)\
cout<<#PARAM<<endl;


//#@ 转成字符,相当于加单引号

#define GG(PARAM)\
char a = #@PARAM;

标签:11,文件,cout,##,2022.02,生成,CLASS,define
From: https://www.cnblogs.com/hualuoyumufeng/p/15949591.html

相关文章

  • 2022.02.12.list-map
    #include<iostream>#include<list>#include<algorithm>usingnamespacestd;//iterator迭代器:遍历容器(list)voidshow(intv){cout<<v<<"";}intmain(){......
  • 2022.02.12.operator
    重载操作符operator:在程序中与到这个符号,通过调用当前重载操作符函数来行使操作符的功能,一般是有返回值,为了和后续的操作符继续操作,匹配操作符根据重载操作符函数的参数......
  • 生成 UML 渲染图 ( PlantUML? )
    做图相关的算法的时候,写代码看不太直观,就想着如何能把图画出来.找啊找就发现了PlantUML这个好东西!PlantUML是一个可以让你快速编写UML图的组件它可以让......
  • 技术汇总:第十五章:MyBatisGenerator数据层代码生成
    第一步:pom.xml<dependencies><dependency><groupId>com.macro.mall</groupId><artifactId>mall-common</artifactId......
  • fastposter v2.11.0 天花板级的海报生成器
    fastposterv2.11.0天花板级的海报生成器......
  • Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析
    1、代码生成器原理分析造句:我们可以往空白内容进行填词造句,比如:在比如:观察我们之前写的代码,会发现其中也会有很多重复内容,比如:那我们就想,如果我想做一个Book模块......
  • 【VS Code】c++环境配置 && .vscode文件 && Code Runner的exe文件指定生成位置
    因为一些奇奇怪怪的问题重装了系统,所以重新配置了vscode,上次配置vscode时由于没有用过,所以环境配置一头雾水,甚至还有些历史遗留问题,一直都是在凑活着用,这次刚好重新开始。......
  • JavaDoc 生成文档
    1.打开IDEA,建一个Doc.java的类,敲入以下代码packagecom.yin.test;/***@authoryinsong*@version1.0*@since1.8**/publicclassDoc{Stringn......
  • AcWing.1175 最大半连通子图
    题目描述\(\qquad\)一个有向图\(G=(V,E)\)称为半连通的,如果满足:\(\forallu,v\inV\),满足\(u\tov\)或\(v\tou\),即对于图中任意两点\(u,v\),存在一条\(u\)到......
  • NC20284 [SCOI2011]糖果
    题目链接题目题目描述幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明......