勵志

勵志人生知識庫

fpic作用

fPIC(Position Independent Code,位置無關代碼)的作用是在編譯階段告訴編譯器生成與位置無關的代碼

這樣產生的代碼中沒有絕對地址,全部使用相對地址,因此代碼可以被載入器載入到記憶體的任意位置並能正確執行。這是共享庫所要求的,因為共享庫在記憶體中的位置是不固定的。如果不用-fPIC選項,編譯後的代碼是位置相關的,動態載入時通常需要通過代碼拷貝的方式來滿足不同的調用,這不能實現真正的代碼段共享。在生成位置無關的代碼時,使用-fPIC參數可以兼容各個系統。