2016-06-07 39 views
1

所有我有一些問題,如波紋管的使用:什麼./lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a

  1. STL頭只圖書館嗎?就像BOOST?
  2. 如果STL不是標頭,那麼是STLcpp文件?我們爲什麼需要./lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a

謝謝

+0

[3]'libstdC++。so。 '是使用STL時靜態鏈接到可執行文件的動態庫。對於靜態鏈接'libstdC++。a'是必需的。 – sameerkn

+1

問題0:你爲什麼在談論「STL」?我認爲你的意思是標準庫。不,標準庫不只需要.cpp文件,它需要直接的編譯器支持。 – MSalters

回答

1
  1. 的libstdC++是C++標準庫(不只是 「STL的」)的實現。它不是隻有標題。 (對於這個問題,這兩方面都沒有提升)。

正如@sameerkn說,非僅標頭部分有兩種版本,一種是dylib(通常命名爲libstdc++.so.<version>),和靜態鏈接文件(通常命名爲libstdc++.a)。大多數人使用dylib版本。

  1. cpp文件用於構建上述的庫。他們沒有安裝在大多數系統上,因爲大多數人不重建他們的標準庫 - 他們只包括頭和鏈接對象(靜態或動態)。

  2. 請參閱上文 - 庫不僅僅是標題。