我一直在追踪C++标准化,并且遇到了C++模块的想法。我找不到一篇好文章。究竟是什么?C++模块究竟是什么?
回答
我刚刚发布上面的铛链接。那篇文章确实将模块的概念以简单易懂的格式带给了大众。 +1! –
感谢您发布您的答案!请注意,您应该在此处发布答案的重要部分,在此网站上,或者您的帖子风险被删除[请参阅常见问题,其中提到的答案几乎不超过链接。](http:// stackoverflow。 com/faq#deletion)如果您愿意,您可能仍然包含该链接,但仅作为“参考”。答案应该独立,不需要链接。 – Taryn
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/
- 1. AngularJS中的模块究竟是什么?
- 2. 变量模板究竟是什么
- 3. 模板引擎究竟是什么?
- 4. 数据库模式究竟是什么?
- 5. C++中的R值究竟是什么?
- 6. C++:究竟是什么“:”在这里做?
- 7. Perl:究竟是什么C <our>?
- 8. “句柄”究竟是什么?
- 9. getGlobalVisibleRect()究竟是什么?
- 10. Werkzeug究竟是什么?
- 11. 究竟是什么@ ViewDebug.ExportedProperty?
- 12. .parentNode究竟是什么?
- 13. Heroku究竟是什么?
- 14. session_hash究竟是什么?
- 15. 究竟是什么awakeFromNib?
- 16. 究竟是什么任务
- 17. cout/cin究竟是什么?
- 18. SKEmitterNode particleLifetime究竟是什么?
- 19. 代表究竟是什么?
- 20. 究竟是什么情景
- 21. 究竟是什么php.ini memory_limit?
- 22. 资源究竟是什么?
- 23. App Pool究竟是什么?
- 24. Erlang OTP究竟是什么?
- 25. NoSQL究竟是什么?
- 26. 雅典究竟是什么?
- 27. ContextStaticAttribute究竟是什么?
- 28. “OAuth Provider”究竟是什么?
- 29. 究竟是什么插座
- 30. targetSdkVersion究竟是什么?
可以粘贴链接,你碰到它,那么也许人们可以关联。 –
@pranitkothari最近提到[这里](http://meetingcpp.com/index.php/br/items/cpp-status.html) –
http://stackoverflow.com/questions/3596147/modules-in- c11 – Erbureth