C++字符串格式化库:CPPFormatLibrary
作者:网络转载 发布时间:[ 2015/9/23 11:40:22 ] 推荐标签:测试开发技术 .NET
Windows Visual Studio 2013 Release下的输出:
0x64
Test20, -10.0050, X , X
0x64
Test20, -10.0050, X , X
1920 FLElapse:0.0762746
1920 CLElapse:0.269722
1636 FLElapse:0.0756153
7732 FLElapse:0.0766446
7956 FLElapse:0.0762051
7956 CLElapse:0.285714
1636 CLElapse:0.288648
7732 CLElapse:0.289193
Mac Xcode Release:
99
Test20, -10.0050, X , X
18446744073709551615 FLElapse:0.0901681
18446744073709551615 CLElapse:0.19329
18446744073709551615 FLElapse:0.147378
18446744073709551615 FLElapse:0.150375
18446744073709551615 FLElapse:0.153342
18446744073709551615 CLElapse:0.303508
18446744073709551615 CLElapse:0.308418
18446744073709551615 CLElapse:0.307407
这只是一个简单的测试,结果并不能覆盖所有情况,然而可以明确的是,FL在提供了:编译期类型安全检查,不定参数,多线程支持,可重入,可乱序等功能的前提下,并不会比C库函数sprintf慢。因此可以认为在使用C++的情况下,始终应该使用FL代替传统的各种格式化字符串的方式以获取更好更安全的代码。
FL被设计成Header Only的库,这样用起来更方便了,只需要简单的包含Format.hpp头文件即可获取到所有的功能。同时针对C++ 11做了专门的优化,使得在支持C++ 11的编译器上可以取得更快的运行速度,这是其它库无法比拟的。
如果你使用的是STL的字符串string或者wstring,那么FL已经内置了对应的支持,所有的适配器都已经默认提供。假如你不是使用的STL,比如UnrealEngine中使用的FString,那么你也可以非常容易的集成FL到自己的项目中。UnrealEngine的FString在集成了FL之后,会多出一个静态的FormatTo函数和一个Format成员函数,它们可以用于使用.net风格产生一个字符串或者直接格式化自己。在项目中也可以找到UnrealEngine的集成代码,非常简单。
FL已经成功使用Visual Studio,XCode和Codeblocks with gcc进行编译,并支持windows,macos,linux,ios等平台。已经成功用于多个项目。
项目地址:https://github.com/sczybt/CPPFormatLibrary
使用git Clone地址:https://github.com/sczybt/CPPFormatLibrary.git
你也可以直接Download zip
另外,一个代码库不可能没有bug,如果你发现了问题,可以将测试用例发给我,我会修复之。欢迎大家来使用。
接下来我会针对这个库提供更多的说明和指导文档。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南