Linux学习
zhhy__
这个作者很懒,什么都没留下…
展开
-
linux里面C程序内存布局
C程序的内存由以下部分组成:正文段:由cpu执行的机器指令部分初始化数据段:全局变量中已初始化部分非初始化数据段:全局变量中未初始化部分栈:局部变量和每次函数调用时所需保存信息都存放在此段堆:通常在堆中进行动态存储分配 这些段的一种典型排列方式是:命令行参数和环境变量 高地址栈堆未初始化数据段初始化数据段正文原创 2010-10-11 17:05:00 · 375 阅读 · 0 评论 -
C程序退出
有5种方式正常退出,3种方式异常退出在程序退出后执行其它函数:用atexit注册终止处理程序 正常退出方式:(1)调用exit函数(退出之前会做一些清理工作,比如关闭已经打开的文件流)(2)从main函数返回,效果和调用exit函数一样(3)调用_exit或_Exit函数(直接退出,不做任何事情)(4)最后一个线程从其启动例程返回(5)最后一个线程调用pthread原创 2010-10-11 10:39:00 · 2141 阅读 · 0 评论 -
C程序main函数执行原理
main函数的原型是int main(int argc, char *argv[]);argc是命令行参数数目,argv是指向参数的各个指针所构成的数组 当内核执行C程序时,在调用main前先调用一个特殊的启动例程,启动例程从内核取得命令行参数和环境变量值,为调用main函数做好准备 内核怎么知道在调用main之前要调用启动例程?可执行程序文件中指定将启动例程作为程序的起始地址原创 2010-10-11 09:59:00 · 565 阅读 · 0 评论