自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 基于GoogleTest的测试框架打造

gTest提供了很多功能方便了单元测试,但是有时候我们需要 测试代码和测试数据分离,便于维护测试数据。或者需要用多组用例对同一个测试代码测试,尽管可以用gtest的参数化的方法达到目的,但是参数化最多只能提供50组用例,数量有限制。所以,有些情况我们需要打造自己的测试框架。首先研究gtest源码 ::testing::internal::MakeAndRegisterTestInfo( \ #test_suite_name,

2020-06-10 14:10:28 209

原创 GoogleTest源码研究--如何获取输出结果信息

gtest的输出结果,要么是输出到控制台,要么输出到文件,但是有时候我们需要直接从程序返回输出信息,而不是从文件里读,这里通过借助gtest留给我们的拓展可以实现。 首先看信息输出到xml文件是如何实现的: GTEST_API_ int main(int argc, char **argv) { printf("Running main() from %s\n", __FILE__); testing::InitGoogleTest(&argc, argv); retur.

2020-05-22 17:29:59 2866

原创 《Windows核心编程》笔记

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-06-23 18:03:49 131

原创 一种模块内部获取模块的完整路径的方法

最近有个需要,一个DLL被外部调用,但是DLL内部需要知道DLL所在的路径,网上找到了一种很奇妙的方法,记录之:HMODULE ModuleFromAddress( PVOID pv ){ MEMORY_BASIC_INFORMATION mbi; if(::VirtualQuery(pv, &mbi, sizeof(mbi)) != 0) { return (HMODULE)mbi.AllocationBase; } else { return NULL; }}得

2020-07-25 16:18:32 268

原创 用cmake构建能编译汇编语言的VS工程

用cmake构建能编译汇编的工程,网上多半都是说在CMakeLists中加上enable_language(ASM)但是VS工程中,这个不管用,因为VS用的是MASM。因此,只需要改成加上如下语句就可以enable_language(ASM_MASM)

2020-07-03 16:45:44 2516

原创 优雅地使用GoogleTest处理函数接口的多用例测试

对于一般的多用例测试的简化形式,网上已经有资料,用到的是gtest的参数化方法,简要说明如下:class IsPrimeParamTest : public::testing::TestWithParam<int>{};在测试case里面,则是:TEST_P(IsPrimeParamTest, HandleTrueReturn){ int n = GetPar...

2020-04-30 16:44:37 556

转载 使用ThreadSanitizer线程检查工具

ThreadSanitizer又叫TSan,是一个检查线程Data Race的C/C++工具。它集成在新版的gcc和clang中,通过编译时加-fsanitize=thread,可以在运行时检测出Data Race的问题。ThreadSanitizer官网:https://code.google.com/p/thread-sanitizerData RaceData Race是指多个线程在...

2020-04-30 15:34:37 893 1

原创 如何写一个完善的singleton模式

struct BiTree{ BiTree *_father; BiTree *_lChild; int _data; BiTree *_rchild; BiTree(int data) : _data(data), _father(nullptr), _lChild(nullptr), _rchild(nullptr) { }};...

2020-03-06 11:41:35 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除