超快的C++单头文件测试框架

超快的C++单头文件测试框架这是一款轻量级、快速的C++测试框架,它使用起来十分方便,引入头文件即可使用,而且速度快、编译时间短,支持C++11/14/17/20。它与其他测试框架的主要区别在于它轻巧且非侵入式:1.在包含标头和编写数千个断言方面,编译时间超轻2.即使在MSVC/GCC/Clang最激进的警告级别上也不会产生任何警告3.可以使用标识符从二进制文件中删除所有与测试相关的内容DOCTEST_CONFIG_DISABLE4.线程安全-断言可以从单个测试用例产生的多个线程使用-5.断言可以在测试上下文之外使用——作为通用断言库——6.没有全局命名空间污染(一切都在doctest::)并且不会拖拽任何标题7.可移植的C++11(C++98使用标签1.2.9)有100多种不同的CI构建(静态分析、消毒剂……)8.二进制文件(exe/dll)可以使用另一个二进制文件的测试运行程序=>在单个注册表中进行测试-#框架#c++

相关推荐

封面图片

Cheep C++ 到 Webassembly 编译器现已开源。

CheepC++到Webassembly编译器现已开源。Cheerp是一个用于Web应用程序的C/C++编译器,可让你将几乎所有C/C++代码编译为WebAssembly和JavaScript。其最新的3.0版本已经开源。​​​Cheerp是一个用于Web应用程序的C/C++编译器,可让您将几乎所有C/C++代码编译为WebAssembly和JavaScript。其最新的3.0版本已经开源。Cheerp主要用于将现有的C/C++库和应用程序移植到HTML5,但也可用于从头开始编写高性能Web应用程序和WebAssembly组件。使用Cheerp,C/C++代码被编译成JavaScript/WebAssembly,并通过公开正确的JavaScript接口进行优化,可以轻松集成到Web应用程序中。Cheerp是Webassembly编译工具系列的一部分,与CheerpJ、CheerpXforFlash和WebVM并列。可用于以下场景:1.将遗留Java应用程序和JavaApplets转换为HTML5,只需很少的努力或无需任何努力,以延长它们的生命,直到弃用,或直到开发出替代的本机HTML应用程序。2.将现有的Java客户端迁移到基于浏览器的Web应用程序,通常通过使用CheerpJ将业务逻辑从Java转换为WebAssembly/JavaScript,并用原生HTML重写UI。3.使用(转换后的)Java库作为本机Web应用程序的一部分。在幕后,CheerpJ需要WebAssembly中的完整JavaSE运行时和存在于浏览器中的JavaScript,以及支持从Java访问和操作DOM的JavaScript/DOM互操作性API。相比之下,C++的Cheerp不需要这样的运行时,而是直接使用LLVM字节码格式作为目标文件和库的中间表示。它的特性如下:解析代码,发出最终的警告和错误,然后生成对输入程序进行编码的等效IR(=内部表示)。IR通过一系列转换优化为更紧凑和更高性能的IR。优化后的IR最终由代码生成为JavaScript和WebAssembly函数和变量的组合。或者简单地说:C++代码库->Cheerp(使用LLVM的优化)->JS+Wasm一旦生成了.js和.wasm文件,接下来就是为这两个静态文件提供服务,将它们嵌入到相关的HTML页面中,在库的API之上构建功能,并测试是否一切正常。主文件到被调用的仍然是一个.js文件,但是一个.wasm文件也被加载并从.js文件运行。虽然CheerpJ不是开源产品,但Cheerp现在是。在这一点上,重要的是要注意,从languageX到WebAssembly的工具现在可以证明更有用,因为WebAssembly最近摆脱了浏览器的限制,现在可以用于运行微服务和无服务函数,甚至可以运行Wasm二进制文件在命令行上,这样甚至可以开发跨平台的CLI应用程序。

封面图片

智能自动化二进制漏洞分析工具

智能自动化二进制漏洞分析工具Callisto是一款智能自动化二进制漏洞分析工具。其目的是自动反编译提供的二进制文件并迭代伪代码输出,查找该伪C代码中潜在的安全漏洞。Ghidra的无头反编译器驱动二进制反编译和分析部分。伪代码分析最初由SemgrepSAST工具执行,然后传输到GPT-3.5-Turbo,以验证Semgrep的发现以及潜在的其他漏洞识别。该工具的预期目的是协助二进制分析和零日漏洞发现。输出旨在帮助研究人员识别二进制文件中潜在的感兴趣区域或易受攻击的组件,然后可以进行动态测试以进行验证和利用。它当然不会捕获所有内容,但使用Semgrep对GPT-3.5进行双重验证旨在减少误报并允许对程序进行更深入的分析。对于那些希望将该工具用作快速无头反编译器的人来说,output.c创建的文件将包含从二进制文件中提取的所有伪代码。这可以插入您自己的SAST工具或手动分析。#工具

封面图片

一种通用的高性能轻量级类STL的现代C++ B树

一种通用的高性能轻量级类STL的现代C++B树这个库是只有头文件的,所以除了包含头文件之外不需要额外的设置过程。此库在C++中实现了一个通用的仅head的STL类B树,包括支持将其用于内存映射磁盘文件和固定大小的分配器。B树是一种自平衡树数据结构,它维护排序的数据,并允许在对数时间内进行搜索、顺序访问、插入和删除。与其他自平衡二叉搜索树不同,B树非常适合于读取和写入相对较大数据块的存储系统,例如数据库和文件系统。

封面图片

C++ 核心指南 | C++ Core Guidelines | #C++ #电子书 #指南

C++核心指南#C++#电子书#指南这是一份持续改进的动态文件,可帮你有效地使用现代C++。“现代C++”是指C++11及更新版本。这些指南主要关注相对较高层次的问题,如接口、资源管理、内存管理和并发性。这些规则影响应用架构和库设计。遵循这些规则将导致代码在静态类型安全性上有保障,没有资源泄漏,并且能捕获比现今代码中更多的编程逻辑错误。而且它将运行得很快——你完全有能力做到正确。本书对低层次的问题,如命名约定和缩进风格,不太关心。

封面图片

可搭建私人网盘的在线文件 #浏览器

可搭建私人网盘的在线文件#浏览器提供指定目录下的文件管理界面,可用于搭建私人网盘,在线管理各种文件资源,内置登录系统,可在线删除、编辑、创建文件,允许分配多个用户权限,在Web浏览器上执行自定义命令行。它是个二进制文件,可以用作独立的可执行文件,但它也可以与Docker或Caddy一起使用,默认情况下会启用HTTPS,安装非常简单。安装后登陆使用的默认账号密码是admin/admin。

封面图片

SummerAsr - 基于C++的可独立编译且几乎没有额外依赖库的本地中文语音识别器

-基于C++的可独立编译且几乎没有额外依赖库的本地中文语音识别器SummerAsr是一个独立编译的大范围连续语音识别系统(ASR),是一个可以本地运行的系统,不需要连接网络,并且没有其他依赖,一键编译完成即可进行语音识别。SummerAsr识别的WAV(PCM)数据格式为:16K采样率,16bitsintSummerAsr的底层计算库使用Eigen,Eigen是一套模板定义的函数,大部分情况下,只需要包含头文件即可,所以本项目没有其他依赖,在C++环境下可以独立编译和运行。本项目使用Eigen提供的矩阵库实现了神经网络算子,不需要依赖例如pytorch,tensorflow,ncnn等其他NN运行环境。本项目在Ubuntu上编译运行,其他类Linux平台,如Android,树莓派等,也应该没啥大问题,在Window上没有测试过,可能需要一点点。

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人