2014-03-27 68 views
5

我一直在追蹤C++標準化,並且遇到了C++模塊的想法。我找不到一篇好文章。究竟是什麼?C++模塊究竟是什麼?

+0

可以粘貼鏈接,你碰到它,那麼也許人們可以關聯。 –

+0

@pranitkothari最近提到[這裏](http://meetingcpp.com/index.php/br/items/cpp-status.html) –

+1

http://stackoverflow.com/questions/3596147/modules-in- c11 – Erbureth

回答

3
+1

我剛剛發佈上面的鐺鏈接。那篇文章確實將模塊的概念以簡單易懂的格式帶給了大衆。 +1! –

+1

感謝您發佈您的答案!請注意,您應該在此處發佈答案的重要部分,在此網站上,或者您的帖子風險被刪除[請參閱常見問題,其中提到的答案几乎不超過鏈接。](http:// stackoverflow。 com/faq#deletion)如果您願意,您可能仍然包含該鏈接,但僅作爲「參考」。答案應該獨立,不需要鏈接。 – Taryn

2

C++模塊是提議,將允許編譯器使用「語義進口」,而不是舊的文本包含模型。當找到#include預處理器指令時,它們將讀取包含表示代碼的抽象語法樹的序列化的二進制文件,而不是執行復制和粘貼操作。

這些語義導入避免了包含在頭文件中的代碼的多次重新編譯,加快了編譯速度。例如。如果您的項目包含100 s的<iostream>,則在不同的.cpp文件中,每個語言配置只能解析標頭一次,而不是每個使用該模塊的翻譯單元解析一次。

微軟的建議超出了這個範圍,並介紹了internal關鍵字。具有internal可見性的類中的成員將不會在模塊外部看到,因此允許類實現人員從類中隱藏實現細節。 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4465.pdf

我在博客中寫道使用<iostream>一個小例子,使用LLVM的模塊緩存: https://cppisland.wordpress.com/2015/09/13/6/