自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 C和C++的区别

带有默认值的函数C89标准中,c语言没有带有默认值的参数,c99之后才有给函数默认值既可以在定义处,也可以在声明处,但只能给一次默认值第一次声明时给最右边的参数一个默认值,第二次声明时给左边参数一个默认值也是合法的(vs2008中合法,但是vs2017中是非法的)赋默认值必须从右向左依次赋值,在调用时,如果没有给实参,则把参数默认值压栈,也可以只传没有默认值的那个参数。使...

2018-07-27 23:32:31 8080

原创 c++函数调用堆栈的全过程

要理解函数调用堆栈的过程,首先要对汇编指令和寄存器有一定的了解。我们简单介绍几个:寄存器ebp:保存栈底指针的地址 esp:保存栈顶指针的地址 pc:存储下一行指令的地址 eax,ebx:保存变量的值汇编指令mov :移值 lea:移地址 rep stos 循环拷贝在进入一个函数的时候,系统首先会为主函数开辟一段栈帧空间,空间开辟的大小一般为十六进制的4c...

2018-07-24 14:39:39 1437 4

原创 C++:深入理解编译和链接过程

深入理解编译链接我们知道,用c/c++语言编写程序的时候,必须要经过编译和链接过程,才能将我们c/c++的源代码转化为可执行文件(Windows下是.exe程序,Linux下是elf格式的可执行文件)。那么编译和链接过程到底做了什么,这个可执行文件又是被加载到哪里运行的呢数据和指令无论用哪种语言所写的代码,归根结底会产生两种东西:指令和数据。那哪些代码是指令,哪些代码是数据?所...

2018-07-22 16:52:11 5518 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除