我知道在Solaris 10中Sun現在Oracle不提供C庫的靜態版本,即libC.a 但我檢查使用Sun Studio也無法做到這一點,我是就像Visual Studio提供C運行時庫一樣,Compiler提供了C庫。使用SunStudio在Solaris上靜態鏈接C庫
因此,在Solaris上C庫僅由系統提供,並且無法在Solaris 10上獲得與libC.a兼容的靜態版本? 謝謝
我知道在Solaris 10中Sun現在Oracle不提供C庫的靜態版本,即libC.a 但我檢查使用Sun Studio也無法做到這一點,我是就像Visual Studio提供C運行時庫一樣,Compiler提供了C庫。使用SunStudio在Solaris上靜態鏈接C庫
因此,在Solaris上C庫僅由系統提供,並且無法在Solaris 10上獲得與libC.a兼容的靜態版本? 謝謝
不知道你能找到一個。這是「按設計」 - 當stdlib API穩定時,內部版本會在操作系統版本之間變化,所以它們強制每個人動態鏈接以避免破壞。
理論上使用動態版本使您的可執行文件在不同的Solaris發行版中可移植(但不能保證)。
如果你真的想擁有一個完全自包含的可執行文件,那麼你可能應該使用GCC和它自己的stdlib。
小心 - 'libC'是C++標準庫,'libc'是C標準庫。兩者都與Solaris上的操作系統配合使用,而不是Studio編譯器。 – alanc
爲什麼你想要一個*靜態*版本的系統庫,特別是libc?如果您使用靜態庫,那麼您將永久焊接到該特定版本,並且您的維護成本將會增加。 –