色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

編程編譯時生成的obj文件和exe文件本質(zhì)上有什么區(qū)別

劉柏宏2年前27瀏覽0評論

編程編譯時生成的obj文件和exe文件本質(zhì)上有什么區(qū)別?

本質(zhì)上都是2進制代碼,但是obj沒有經(jīng)過鏈接的重定位,不是可執(zhí)行的代碼。

而且一個obj對應一個cpp編譯單元,里面的外部符號都沒解析出來。

比如a.cpp通過b.h使用了一個b.cpp里定義的函數(shù)func();那么a.cpp生成的obj里面只會有func()這個函數(shù)名的調(diào)用而已,也就是一個(對a.obj來說的)外部符號。

只有經(jīng)過鏈接成為了.exe,相應于a.obj里面的func()的調(diào)用才會更新成實際的b.obj里面的func()的實際地址。

對全局變量也是同樣的道理。

java 調(diào)取exe,編程編譯時生成的obj文件和exe文件本質(zhì)上有什么區(qū)別