C ++具有广泛的生态系统。C ++ Builder的主要目标之一是确保您可以利用其他C ++开发人员编写的库。在每个发行版中,我们一直在致力于RTL和STL的开发,以确保它们具有高品质并具有出色的兼容性–这正是升级项目或要从在线库中提取C ++源代码所需要的。
这方面的一个很好的证明是,我们在汉武帝药枕程序包管理器GetIt中提供了越来越多的(通常是复杂的)开源C ++库。
10.4.2提供了五个新库,总共构成了十五个开源库–每个版本都在稳步增加。这些都是很棒的库。
- Microsoft C ++核心准则支持库
C ++标准委员会坚持其有关如何有效使用现代C ++的建议-核心准则。该库由Microsoft编写,包含一组类型和方法,可帮助您使用这些准则编写C ++代码。它包括基于标准std :: span的span等项目,但具有边界检查功能;not_null,强制智能指针从不保存空值;前提条件和后置条件的断言(期望并确保);堆栈和堆数组;还有更多–这些只是我个人认为有用的一些。
您可以在GSL自述文件中阅读更多有关有用的方法和类型的信息…现在,您可以在C ++ Builder中使用它们! - Google测试
我们经常被问到有关C ++ Builder的测试框架。我们建议使用支持C ++的DUnit,Boost还包括Boost :: test。但是,Google Test是众所周知的,它包括用于对象模拟的Google Mocks框架。
这是一个复杂的库,不仅对GetIt有帮助,还清楚地说明了10.4.2版本的质量。 - xtl
Xtl包含许多常用的xtensor框架(我们正在研究的容器)和算法,这些容器和算法在金融中经常使用-实际上,它是xtensor定量堆栈的一部分。如果您正在寻找高性能的C ++,这是一个很好的开始。 - ACE / TAO:跨平台的CORBA消息库
ACE / TAO是最大,最复杂的库之一,也是许多客户向我们询问的库。在过去的一年中,我们专门针对此库做了很多工作。它包含的内容清楚地说明了10.4.2为您提供的兼容性。我们还期望许多C ++ Builder用户希望使用ACE / TAO,也许要升级多个版本的项目。我们很高兴能在GetIt上使用它! - {fmt}用于C ++
C标准IO和C ++流的安全且非常快速的格式化以难以使用且常常不安全而闻名。{fmt}是一种非常受欢迎的替代方法,具有优雅的语法,编译时错误,强大的测试和出色的性能。以下是摘自自述文件的一些代码片段: -
std::vector<int> v = {1, 2, 3}; fmt::print("{}n", v);
打印:
{1, 2, 3}
或传递错误类型的示例,该类型可能在您之前的代码中给您造成了困扰:
std::string s = fmt::format(FMT_STRING("{:d}"), "I am not a number");
这给出了编译时错误。
在这里查看自述文件:它具有令人印象深刻的代码示例和基准。该库尚待完成一些较小的最终工作,但很快就会供您在C ++ Builder中使用!
这些关键,有用的开源库为您的项目提供了巨大的价值。我个人特别高兴看到ACE / TAO(经常被要求),准则支持库和{fmt}。请记住,您也可以使用C ++ Builder将任何开源C ++库添加到您的代码中:我们一直在兼容性和质量方面努力工作,以确保您可以使用所需的任何代码。
当然,还不止这些!GetIt还包括Boost(经典,Win32铛,Win64铛),EasyBMP,本征线性代数和数学框架,Expat和TinyXML XML解析器,libsimdpp(快速数学),NemaTode(NMEA和GPS),SMHasher(哈希函数)和SDL2 (非常适合写游戏!)
这些库都是开源的,您可以在此处在Assembla上找到我们的存储库。
概述
C ++ Builder在兼容性和健壮性方面一直做着不懈的努力,以确保您的代码在升级时能很好地工作,并且可以轻松地使用外部C ++代码-这对您的软件而言是一个巨大的好处。10.4.2很好地显示了工作,并添加了一些真正有用且技术复杂的库,这些库演示了此发行版的改进。我们希望这些库将对您的项目有所帮助!甚至除了这些库以外,都可以升级到10.4.2以利用软件质量的提高,以及此版本中的其他一些改进–链接器内存,代码完成等。