文章目录
- C语言
-
-
- 简述编译运行一段代码的过程
- 静态链接和动态链接有什么区别
- 静态链接库和动态链接库有什么区别
- 4字节对齐
- #define和const的区别,const比#define的优点
- 数组和指针的区别
- malloc、free和new、delete的区别与联系
- free函数怎么知道释放内存大小
- Assert
- void 函数的返回值问题
- 数组指针和指针数组
- 函数指针和指针函数
- 定义常量谁更好?# define还是 const
- `*(a[1]+1)、*(&a[1][1])、(*(a+1))[1]`表示什么意思
- 不使用流程控制语句,如何打印出1~1000的整数
- a是数组,(int*)(&a+1)表示什么意思
- 指针进行强制类型转换后与地址进行加法运算,结果是什么
- # include< filename. h>和# nclude" filename. h"有什么区别
- 如何使用 define声明个常数,用以表明1年中有多少秒(忽略闰年问题)
- 下面三个有什么区别?
- Heap与stack的差别。
- 请简述栈在C语言中的作用
- 要对绝对地址0x100000赋值,我们可以用
- 关键字static的作用是什么?
- 引申1:在C语言中,为什么 static变量只初始化一次?
- 引申2:在头文件中定义静态变量是否可行,为什么?
- 常量指针,指向常量的指针,指向常量的常量指针
- const作用
-
C语言
简述编译运行一段代码的过程
源程序是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件,源程序就是所写好的代码。
可执行程序,即常说的.exe程序,可以执行程序,完成计算机功能。在C语言中,.c文件就是所谓的源文件。
源程序到可执行程序的过程。在这个过程中,会发生如下的变化:
.c文件生成.obj文件的过程,称为编译,.obj文件生成到.exe文件的过程,称为链接。
.obj文件就是一个是程序编译生成的二进制文件,当.exe文件生成以后.obj文件就会被删除。
事实上,.c文件生成.exe文件的过程总共是经历了预处理,编译,汇编,链接,这四个过程。
1、预处理