2010-01-05 72 views
23

是否有可能獲得標準C++庫的源代碼?從哪裏獲得標準C++庫的源代碼

+11

請記住,您誤導自己說「*源代碼」。 C++語言只是由標準描述的,正如標準庫的行爲一樣。你可以找到*標準庫的單個實現*,而不是*單個。 – GManNickG 2010-01-05 06:31:17

+0

@GManNickG:另外,它至少部分內置於編譯器本身。事實上,並不需要任何單獨的代碼。 – 2014-10-23 17:54:08

回答

15

GNU項目是免費和開源的軟件,幷包含一個C++標準庫的實現。

http://gcc.gnu.org/libstdc++/

+0

我跟着鏈接爲http://mirror.clarkson.edu/gnu/...還是不知道哪一個是標準C++的lib – Southsouth 2010-01-05 04:56:01

+0

真的嗎?任何在這裏的tarball應該提取到標準的C++ lib源代碼:http://mirror.clarkson.edu/gnu/libstdc++/ – 2010-01-05 05:05:35

+0

如果你有git安裝試試這個 git init git remote add origin git:// gcc .gnu.org/git/gcc.git git config --add remote.origin.fetch'refs/remotes/*:refs/remotes/svn/*' git fetch git checkout -b trunk svn/trunk – 2015-01-24 07:32:29

14

如果您有Visual Studio專業,它在

X:\Microsoft Visual Studio 9.0\VC\crt\src

10

源代碼,您應該已經在你的編譯安裝來源。如果您使用帶有「跳轉到包含文件」命令的IDE,請選擇任何STL標題並跳轉到該標題。如果您使用某種UNIX,請查看/usr/include/c++。查看STL頭包含其他頭文件和遞歸的位置:v)。

+2

'/ usr/lib目錄/ GCC/$ CTARGET/$ VERSION /包括/ G ++ - V4 /'我的標準Linux系統上。 – ephemient 2010-01-05 05:39:34

+2

咦,海灣合作委員會手冊頁似乎表明這是一個更可能的位置,但它在標準的OS X.只有一些隨機的低層次的東西(沒有STL)也許'定位iostream'是一個很好的解決方案。 – Potatoswatter 2010-01-05 06:45:27

1

在Visual Studio中,如果您對具體(特定)STL元素實現(例如,任何函數)感興趣,請右鍵單擊代碼中提及的內容並在上下文菜單中選擇「轉到定義」。 (或者對這個提把光標和按下「F12」)

5

libc++ is the C++ Standard Library of LLVM.

所有的代碼了libC++是雙在MIT許可和UIUC許可證(類BSD許可證)許可。

  • 正確性由C++ 11標準中定義。
  • 快速執行。
  • 最小內存使用量。
  • 快速編譯時間。
  • ABI與gcc的libstdC++兼容,用於某些低級特性,例如異常對象,rtti和內存分配。
  • 廣泛的單元測試。
相關問題