Difference between revisions of "使用到的boost库"

From KlayGE
Jump to: navigation, search
Line 2: Line 2:
  
 
需要编译才能使用的boost库:
 
需要编译才能使用的boost库:
*'''Filesystem'''(在VC12+中可以用Filesystem TS/C++17的代替。)
+
*'''Filesystem'''(在VC12+中可以用C++17的代替。)
 
*Program Options(仅用于[[工具集]]。)
 
*Program Options(仅用于[[工具集]]。)
 
*'''System'''(没有直接使用,VC12+不使用。)
 
*'''System'''(没有直接使用,VC12+不使用。)
Line 20: Line 20:
 
*Utility/noncopyable
 
*Utility/noncopyable
  
标记为粗体的可以用C++11或C++17的功能代替。随着支持C++11的编译器的普及,这些库都会切换到[[使用到的C++11特性|C++11]]或[[使用到的C++17特性|C++17]]。除非迫不得已才用boost的。
+
标记为粗体的可以用C++11或C++17的功能代替。随着支持C++11/17的编译器的普及,这些库都会切换到[[使用到的C++11特性|C++11]]或[[使用到的C++17特性|C++17]]。除非迫不得已才用boost的。
  
 
[[en:Used boost libraries]]
 
[[en:Used boost libraries]]

Revision as of 01:35, 1 January 2017

KlayGE的很多代码都依赖于boost。以下列出使用到boost中的各个部分。

需要编译才能使用的boost库:

  • Filesystem(在VC12+中可以用C++17的代替。)
  • Program Options(仅用于工具集。)
  • System(没有直接使用,VC12+不使用。)
  • Test (仅用于测试。)

只有头文件的boost库:

  • Algorithm/string
  • Any (C++17)
  • Assert
  • Circular Buffer
  • Container/flat_map
  • Lexical Cast
  • Lock free
  • Operators
  • Optional (C++17)
  • Signals2
  • Utility/noncopyable

标记为粗体的可以用C++11或C++17的功能代替。随着支持C++11/17的编译器的普及,这些库都会切换到C++11C++17。除非迫不得已才用boost的。