摘要: 参数为默认值的函数 参数从右面开始给默认值。 如果不缺省参数,需要在汇编层面mov实参到寄存器,并push压栈此寄存器值;而如果缺省一个参数,在汇编代码层面,相当于少一句mov指令,而可以直接push一个立即数。从而提高效率。 定义和声明两阶段都可以给默认值,但二者只能给一次,即使定义和声明两阶段给 阅读全文
posted @ 2024-01-11 23:07 二氧化硅21 阅读(5) 评论(0) 推荐(0)
摘要: 程序编译与链接原理 预编译:处理#命令,但保留#pragma,删除注释。 编译:词法分析、语法分析、语义分析和优化,生成汇编代码。 汇编:将汇编代码翻译成机器码(AT&T,x86语法),打包为可重定位二进制目标文件,此文件不可执行。输出符号表。 链接:合并.o文件段,合并符号表,解析并符号重定向。 阅读全文
posted @ 2024-01-11 23:04 二氧化硅21 阅读(10) 评论(0) 推荐(0)
摘要: 进程的虚拟地址空间内存划分和布局 编程语言->产生指令和数据 程序生成exe可执行文件,加载到内存后(不是一步直接加载到物理内存中)如何存放。 x86 32位linux下,linux会给进程分配一块2的32次方大小的一块空间(4G),这块空间是一块虚拟内存空间,虚拟内存空间本质上是系列数据结构。 这 阅读全文
posted @ 2024-01-11 22:50 二氧化硅21 阅读(24) 评论(0) 推荐(0)
摘要: 第二章 C++对C的拓展 2.1 C++命名空间基本常识 1、创建名字是程序设计过程中一项最基本的活动,当一个项目很大时,它会不可避免地包含大量名字。c++允许我们对名字的产生和名字的可见性进行控制。 我们之前在学习c语言可以通过static关键字来使得名字只得在本编译单元内可见,在c++中我们将通 阅读全文
posted @ 2024-01-09 10:39 二氧化硅21 阅读(23) 评论(0) 推荐(0)
摘要: 第一章 C++概述 1.1 C++简述 1、与c语言一样,c++也是在贝尔实验室诞生的,Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)在20世纪80年代在这里开发了这种语言。 2、c++融合了3种不同的编程方式: c语言代表的过程性语言. c++在c语言基础上添加的类代表的面向对象语言 阅读全文
posted @ 2024-01-09 10:38 二氧化硅21 阅读(26) 评论(0) 推荐(0)
摘要: 第三章 类和对象 3.1 类和对象的基本概念 1、现实世界的事物所具有的共性就是每个事物都具有自身的属性,一些自身具有的行为,例如一个学生有姓名、性别、年龄等属性,吃饭睡觉玩游戏等行为。C++提供了类的概念,可以将某一类事物的所有属性和行为封装在一个class中。 2、类对于某个事物的描述其实还是抽 阅读全文
posted @ 2024-01-09 10:37 二氧化硅21 阅读(30) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示