![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言链接属性与static
文章平均质量分 73
ygrea
这个作者很懒,什么都没留下…
展开
-
普通/静态局部变量和普通/静态全局变量作用域、生命周期、链接属性总结
普通局部变量分配在栈上,作用域为代码块作用域,生命周期是临时的,链接属性是无连接(编译时是一个函数形成一个单元,链接时是函数与函数之间的层次在交换,函数内部的局部变量与其他函数没有直接的联系,所以是无连接的)。 定义时未显式初始化其值是随机的(因为其分配在栈上,在栈上的内存其他变量用完时是不会清理内存的,所以通常说栈内存是脏的),变量地址由运行时在栈上分配得到的,多次执行时地址不一定相同(局部变量在分配空间时是哪里有位置就分配到哪里的,在函数结束时就会释放掉这块空间),函数不能返回局部变量的...原创 2021-04-07 10:30:45 · 823 阅读 · 0 评论 -
C语言链接属性
一个庞大、完整的C语言程序(Linux内核、uboot)是由多个c文件和多个h文件组成。而c文件中主要存放的是程序的函数、代码,h文件则是头文件、宏定义、结构体定义、函数声明等。要执行这样庞大的c语言程序,就需要了解C语言的链接属性。程序的生成过程 程序的生成过程是:编译加链接。我们的多个c文件和h文件变成我们的可执行程序,必须要经过编译和链接两个过程。编译的过程是为了将我们的函数/变量编程一个.o的二进制格式机器码,链接时为了将各个独立分开的二进制的函数链接起来形成一个整体的二进制可执...原创 2021-04-04 18:56:03 · 476 阅读 · 2 评论