2012-09-14 36 views
0

任何人都可以告訴我像NetBeans這樣的IDE或任何有關此事的IDE如何收集所有標準C++庫?例如,我創建了一個新的Netbeans C++應用程序,並且包含了iostream,它沒有任何問題。但是,如果我在MacOSX Snow Leapord上搜索文件名「iostream」,它會在路徑中找到它的路徑我的IDE使用什麼C++實現/庫? (NetBeans,MacOSX)

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/stream

這是否意味着我的IDE正在使用我的操作系統的C++庫?這很奇怪,因爲所有這些文件都是「版權蘋果」 - 所以我假設這是由Apple修改的C++實現?

我的印象是有1個標準的C++庫和所有編譯器使用它。 Netbeans不知何故只收集了與Xcode捆綁在一起的同一個庫?本質上,我想查看一些C++頭文件的源代碼來收集更多關於它們內部工作的信息,但是我擔心我使用了一些超重量級的Apple修改的核心lib,它可能不會甚至是合法的使用,因爲它是在一些蘋果liscense下。

謝謝大家

+1

的Mac OSX 10.6及更高版本使用C++庫的兩種實現方式之一 - 因爲GCC 4.2.1 GCC(永遠停留在時間之後切換到GPL3)和[Clang C++](http://clang.llvm.org/),這是一個不同的實現。我的系統上沒有該目錄(可能有不同的軟件安裝提供了C++庫),但Netbeans可能使用GCC 4.2.1 – birryree

回答

1

的NetBeans只是一個IDE,它不來與編譯器或任何C++庫。由於看起來您已經安裝了Xcode,因此NetBeans會自動使用與Xcode關聯的編譯器和庫。我不知道蘋果許可證是什麼,但是由於您購買並擁有您的Mac,我認爲使用這些標頭並不存在問題。

此外,要查看標題,只需右鍵單擊該代碼並Go ToC++ DeclarationHeader Files

+0

非常感謝「Go to Declaration」提示 - 非常有幫助。 – netpoetica

0

有一個地方你安裝了g ++,你的包含文件都來自那裏。 您可以通過使用gcc -I開關添加額外的頭文件,那就是在Netbeans中的編譯工具鏈選項實現

更多信息here

我沒有在手,MAC的權利,但我猜測包含文件將在地方,比如:

/usr/share/g++

編輯:

你可以找到的代碼幫助彈出包含文件在:

Tools -> Options -> C/C++ -> Code Assistance

相關問題