随记,编译,链接!static

来源:互联网 发布:java 获取每个月一号 编辑:程序博客网 时间:2024/06/04 23:33

编译都是以.c文件为单元的

编译之前需要先预处理,#开头的是预处理命令,比如:include仅仅是将某文本插入此文本文件,#define仅仅是在预处理时编译器进行文本替换!


预处理过后就会将文件编译成.o目标文件(中间可能先编译成汇编,再编译成.o文件),编译时进行语法检测,调试小技巧,编译中只要你声明了某函数,调用声明的函数就不会报错!


每个.c文件编译过后得到各自.c文件,连接器将它们链接在一起形成可执行文件(win中.exe,linux 中.out或无任何后缀自定义的文件名),在链接中如果调用了某函数,会检查函数是否有具体实现



static申明的本地变量实际上是一个全局变量,可以输出此变量的地址与全局变量观察对比就可知道,只不过它的作用域是函数内部


static可能存在两个作用

1、全局生命周期(变量)

2、当前作用域

2.1变量前加static见上面

2.2函数前加static保证此函数只能被当前C单元文件访问调用



delete 释放指针所指对象的空间 但是不删除指针变量本身

1 0
原创粉丝点击