根本原因:編譯過后的符號表中函式資訊僅包括函式名和引數串列資訊,所以引數型別不同可以多載,而無法多載僅按回傳值型別區分的函式,
決議:為了使得不同編譯單元的相同變數之間建立聯系,系統通過將變數和函式的名字放在目標代碼的符號表來完成,符號表中,函式并不依靠它在源程式中耳朵名字來命名,僅包括函式名和引數串列資訊,所以引數型別不同可以多載,而無法多載僅按回傳值型別區分的函式,
————————————————————————————————————————————
源檔案編譯程序
源檔案——編譯——>目標檔案
目標檔案分為代碼段和資料段
代碼段 :存放函式編譯后得到的目標代碼
資料段 :包含對源檔案定義的各個靜態生存期物件的描述
資料段分為初始化后的資料段和未初始化的資料段
初始化后的資料段(.data):在初始化同時賦予了初始值的靜態生存期物件【特例:除依靠建構式賦予初值的以外】
未初始化的資料段(.bss) :其他靜態生存期物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/260626.html
標籤:其他
上一篇:寒假面經
