Linux面试相关 c程序的运行流程
在Linux中,運(yùn)行一個(gè)程序時(shí),首先由shell調(diào)用fork,然后在子進(jìn)程中真正執(zhí)行這個(gè)命令,首先是調(diào)用execve來加載可執(zhí)行文件,然后將所需要的庫文件映射到進(jìn)程的虛擬內(nèi)存空間中,此時(shí),進(jìn)程執(zhí)行上下文加載完成,開始執(zhí)行代碼段。
Linux中程序是以可執(zhí)行文件的形式存放在磁盤上,可執(zhí)行文件既包括被執(zhí)行函數(shù)的目標(biāo)代碼,又包括被執(zhí)行函數(shù)使用到的數(shù)據(jù),它描述了如何初始化一個(gè)新的執(zhí)行上下文。exec系列函數(shù)用來將可執(zhí)行文件所描述的新上下文替代父進(jìn)程的上下文。
參考資料:
1. 《Linux環(huán)境編程 從應(yīng)用到內(nèi)核》高峰。
2. 《深入理解Linux內(nèi)核》
=============================================================================================
Linux應(yīng)用程序、內(nèi)核、驅(qū)動(dòng)、后臺(tái)開發(fā)交流討論群(745510310),感興趣的同學(xué)可以加群討論、交流、資料查找等,前進(jìn)的道路上,你不是一個(gè)人奧^_^。
?
總結(jié)
以上是生活随笔為你收集整理的Linux面试相关 c程序的运行流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 70. 爬楼梯 动态规
- 下一篇: 中国人保的全称