自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (2)
  • 收藏
  • 关注

原创 一文了解UML

UML(Unified Modeling Language),即统一建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。在结构化开发方法中,系统分析的建模语言是数据流图,系统设计的建模语言是模块结构图。在面向对象开发方法中,系统分析与设计的建模语言是UML,UML仅仅是一种语言,它。

2023-07-19 23:53:08 1104

原创 DT-Linux网络开发

Linux网络开发。

2023-05-21 10:32:51 71

原创 【gmock】Google Mock 入门

目录1 概述1.1 什么是Mock?1.2 Google Mock概述1.3 参考文档2 Google Mock使用2.1 最简单的例子2.2 典型的流程2.3 自定义方法/成员函数的期望行为2.3.1 Matcher(匹配器)2.3.2 基数(Cardinalities)2.3.3 行为(Actions)2.3.4 序列(Sequences)3 Mock实践3.1 我改过的例子3.2 现实中的例子4 Google Mock Cookbook4.1 Mock protected、private方法4.2 M

2023-05-14 23:20:37 1592

原创 【gtest】玩转Google单元测试框架gtest系列

系列链接:1.玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest2.玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言3.玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制4.玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化5.玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试6

2023-05-14 22:43:20 358

原创 DT-嵌入式软件开发

嵌入式软禁开发

2022-12-10 16:22:19 186

原创 DT-QT实验分析教程

QT

2022-12-10 16:20:09 345

原创 【侯捷】C++内存管理机制

目录

2022-10-08 23:57:45 496

原创 【GeekBand】C++设计模式

设计模式目录

2022-10-06 22:45:40 283

原创 leetcode刷题笔记

第零章、leetcode刷题套路https://blog.csdn.net/qq_15041569/article/details/119858501第一章、手把手刷数据结构~手把手刷链表题目https://blog.csdn.net/qq_15041569/article/details/123860166第一章、手把手刷数据结构~手把手刷二叉树https://blog.csdn.net/qq_15041569/article/details/123860216第一章、手把手刷数据结构~手把手

2022-04-13 00:58:35 618

原创 leetcode刷题原文

第1章 核心套路篇 / 211.1 学习算法和刷题的框架思维 / 211.1.1 数据结构的存储方式 / 211.1.2 数据结构的基本操作 / 231.1.3 算法刷题指南 / 251.1.4 最后总结 / 301.2 动态规划解题套路框架 / 311.2.1 斐波那契数列 / 321.2.2 凑零钱问题 / 371.2.3 最后总结 / 421.3 回溯算法解题套路框架 / 431.3.1 全排列问题 / 431.3.2 N 皇后问题 / 481.3.3 最后总结 / 511.4

2021-01-02 23:49:05 439

原创 【侯捷】C++ STL

一、简介C++ 标准库(STL大部分属于C++标准库)—— STL和标准库的关系STL 标准模板库标准库以header files形式呈现(头文件)C++标准库的header files不带副档名,如:#include新式C header files,如:#include旧式C header files,如:include<stdio.h>新式headers内组件封装在namespace “std”(新式统一规定都在std)using namespace s...

2020-12-06 20:14:21 1433 1

原创 【侯捷】C++2.0新特性(C++ 11/14)

111

2020-12-06 20:02:25 1324 1

原创 leetcodeBAT冲刺

1.题型分类:(1)字符串string类问题:第7课_哈希表与字符串https://blog.csdn.net/qq_15041569/article/details/102870129(2)动态规划类问题: 第9课_动态规划https://blog.csdn.net/qq_15041569/article/details/102870100(3)贪心算法类问题:第3课_贪心算...

2020-01-01 23:10:47 259 1

原创 STL教程:C++ STL快速入门

1.STL引言STL 是“Standard Template Library”的缩写,中文译为“标准模板库”。STL 是 C++ 标准库的一部分,不用单独安装。C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。例如,vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列...

2019-07-02 00:16:49 10656

原创 C++ 有用的资源

C++有用的资源以下资源包含了 C++ 有关的网站、书籍和文章。请使用它们来进一步学习 C++ 的知识。C++ 有用的网站C++ Programming Language Tutorials− C++ 编程语言教程。 C++ Programming− 这本书涵盖了 C++ 语言编程、软件交互设计、C++ 语言的现实生活应用。 C++ FAQ− C++ 常见问题 Free ...

2019-06-28 23:56:15 255

原创 C++标准库

1.C++编译环境的组成:C语言兼容库:头文件带.h,是C++编译器提供商为推广自己的产品,而提供的C兼容库(不是C++标准库提供的),内置的C库。 C++标准库:如string、cstdio(注意,不带.h)是C++标准库提供的。使用时要用using namespace std找开命名空间。 编译器扩展库:这是针对不同的编译器而独有扩展的,例如g++和vc++,它们在这一板块就不同。...

2019-06-09 23:19:10 10721

转载 构建工具流行指数

1.构建工具流行指数

2019-06-02 17:51:15 175

转载 网络通信原理

一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。注:计算机(硬件)->os->应用软件二.网络通信原理2.1 互联网的本质就是一系列的网络协议一台硬件设备有了操作系统,然后装上软件你就可以...

2019-06-02 17:13:06 17226 17

原创 第12讲-面向对象编程-模块化、异常

程序在运行过程当中,不可避免的会出现一些错误,比如:使用了没有赋值过的变量使用了不存在的索引除0...这些错误在程序中,我们称其为异常。程序运行过程中,一旦出现异常将会导致程序立即终止,异常以后的代码全部都不会执行!

2023-10-17 23:53:41 75

原创 第10讲-面向对象编程-基础

类和对象都是对现实生活中的事物或程序中的内容的抽象- 实际上所有的事物都由两部分构成:1.数据(属性)2.行为(方法)​- 在类的代码块中,我们可以定义变量和函数,变量会成为该类实例的公共属性,所有的该类实例都可以通过 对象.属性名 的形式访问函数会成为该类实例的公共方法,所有该类实例都可以通过 对象.方法名() 的形式调用方法​- 注意:方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参!​- 实例为什么能访问到类中的属性和方法。

2023-10-17 23:52:31 83

原创 第9讲-函数、递归

函数也是一个对象- 对象是内存中专门用来存储数据的一块区域- 函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次的调用- 创建函数:def 函数名([形参1,形参2,...形参n]) :代码块- 函数名必须要符号标识符的规范(可以包含字母、数字、下划线、但是不能以数字开头)- 函数中保存的代码不会立即执行,需要调用函数代码才会执行- 调用函数:函数对象()- 定义函数一般都是要实现某种功能的。

2023-10-17 23:51:39 81

原创 第8讲-元组、字典

每个对象中都保存了三个数据:id(标识)type(类型)value(值)​- 列表就是一个可变对象​- a[0] = 10 (改对象)- 这个操作是在通过变量去修改对象的值- 这种操作不会改变变量所指向的对象- 当我们去修改对象时,如果有其他变量也指向了该对象,则修改也会在其他的变量中体现​- a = [4,5,6] (改变量)- 这个操作是在给变量重新赋值- 这种操作会改变变量所指向的对象- 为一个变量重新赋值时,不会影响其他的变量​。

2023-10-17 23:50:57 54

原创 第7讲-列表、切片

列表是Python中的一个对象- 对象(object)就是内存中专门用来存储数据的一块区域- 之前我们学习的对象,像数值,它只能保存一个单一的数据- 列表中可以保存多个有序的数据- 列表是用来存储对象的对象- 列表的使用:1.列表的创建2.操作列表中的数据​- 练习:- 创建一个列表,在列表中保存你最好的5个朋友的名字然后分别通过索引来获取每一个朋友的名字。

2023-10-17 23:50:09 36

原创 第4讲-面向对象简介

Python是一门面向对象的语言- 一切皆对象!- 程序运行当中,所有的数据都是存储到内存当中然后再运行的!- 对象就是内存中专门用来存储指定数据的一块区域- 对象实际上就是一个容器,专门用来存储数据- 像我们之前学习的数值、字符串、布尔值、None都是对象- 参考 图1。

2023-10-17 23:47:07 39

原创 嵌入式常用外设

嵌入式常用外设。

2023-10-03 21:29:22 45

原创 深入浅出玩转FPGA基础知识学习1

一般设计者可能会先查看映射后的时序报告,这个报告的逻辑延时是完全准确的,布线延时确实通过一定的比例进行推导得出的估计值,所以由此得到的时序报告并不完全准确。如果映射报告的结果看上去不错,有足够的时序余量,那么就可以继续往后进行布局布线,查看布局布线后的时序报告,这个报告是最接近板级的时序分析结果。DSP和FPGA都是可编程的,DSP的软件编译和调试相对FPGA要容易一些,但只适合一些基于顺序处理的算法实现,对于并行要求极高的应用场合则无能为力了。FPGA 拥有着丰富的电平接口,易于实现各种各样不同的协议。

2023-09-30 09:43:14 140

原创 C++ 多线程编程

C++11之前,window和linux平台分别有各自的多线程标准,使用C++编写的多线程往往是依赖于特定平台的。Window平台提供用于多线程创建和管理的win32 api;Linux下则有POSIX多线程标准,Threads或Pthreads库提供的API可以在类Unix上运行;在C++11新标准中,可以简单通过使用thread库,来管理多线程。thread库可以看做对不同平台多线程API的一层包装;因此使用新标准提供的线程库编写的程序是跨平台的。

2023-07-19 00:34:37 2157

原创 C++ STL常见算法

须包含,

2023-07-09 15:43:28 233

原创 十一、C++2.0其他部分

十一、C++2.0其他部分

2023-07-04 22:58:06 380

原创 浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t

一、C语言基本数据类型回顾在C语言中有6种基本数据类型:short、int、long、float、double、char1、数值类型1)整型:short、int、long2)浮点型:float、double2、字符类型:char二、typedef回顾typedef用来定义关键字或标识符的别名,例如:typedef double wages;typedef wages sa...

2023-07-02 17:58:00 1184

原创 UML-类图

【代码】UML-类图。

2023-05-23 23:15:02 139

转载 重构 - 改善既有代码的设计

内联函数目的:将意图与实现分开。意图 == 主干;实现 == 分支的实现场景:如果需要花时间浏览一段代码才能弄清它到底干什么,那么就应该将其提炼到一个函数中,并根据它所做的事为其命名。以后再读到这段代码时,可以一眼就能知道函数的用途,大多数根本不需要关心函数如何实现。

2023-05-21 09:34:12 843

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架

如果你在使用gtest过程中发现gtest不能满足你的需求时(或发现BUG),gtest的开发人员非常急切的想知道他们哪来没做好,或者是gtest其实有这个功能,但是很多用户都不知道。TestCase类包含一个测试案例的基本信息,包括:测试案例名称,测试案例执行结果,同时还提供了测试案例执行的方法。3. 执行测试案例时,调用UnitTest::Run(),遍历测试案例集合testcases_,调用案例的Run()方法。// 测试案例的执行结果。接下来定一个宏NTEST,方便我们写我们的测试案例的类。

2023-05-16 00:11:11 411 1

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之六 - 运行参数

2. 有时,我在代码中设置 testing::GTEST_FLAG(catch_exceptions) = 1和我在命令行中使用--gtest_catch_exceptions结果稍有不同,在代码中设置FLAG方式有时候捕捉不了某些异常,但是通过命令行参数的方式一般都不会有问题。注意到了,不需要加--gtest前缀了。在我使用过程中发现一个问题,当我同时设置了--gtest_filter参数时,输出的xml报告中还是会包含所有测试案例的信息,只不过那些不被执行的测试案例的status值为“notrun”。

2023-05-16 00:10:52 1251

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest

了解了gtest代码后,猛然发现gtest不就是这样吗,同时gtest也给了我很多惊喜,因此,我对gtest的评价是:功能强大,设计简单,使用方便。本文算是抛砖引玉吧,只能是对gtest的整体结构的一些介绍,想要了解更多细节最好的办法还是看gtest源码,如果你看过gtest源码,你会发现里面的注释非常的详细!3. Test 我们自己编写的,或通过TEST,TEST_F等宏展开后的Test对象,管理着测试案例的前后事件,具体的执行代码TestBody。

2023-05-16 00:10:40 2628

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试

通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也就是所谓的“死亡测试”。在Windows系统中,gtest的死亡测试中使用的是gtest自己实现的简单的正则表达式语法。这里, 要说明的是,*_DEATH其实是对*_EXIT进行的一次包装,*_DEATH的predicate判断进程是否以非0退出码退出或被一个信号杀死。`),我们可以非常方便的编写导致崩溃的测试案例,并且在不影响其他案例执行的情况下,对崩溃案例的结果进行检查。

2023-05-16 00:08:59 527

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制

当然,这样还不够,我们还需要告诉gtest添加这个全局事件,我们需要在main函数中通过testing::AddGlobalTestEnvironment方法将事件挂进来,也就是说,我们可以写很多个这样的类,然后将他们的事件都挂上去。要实现全局事件,必须写一个类,继承testing::Environment类,实现里面的SetUp和TearDown方法。在编写测试案例时,我们需要使用TEST_F这个宏,第一个参数必须是我们上面类的名字,代表一个TestSuite。1. 全局的,所有案例执行前后。

2023-05-16 00:07:56 651

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化

接着,我们需要我们上面的案例,使用REGISTER_TYPED_TEST_CASE_P宏,第一个参数是testcase的名称,后面的参数是test的名称。这里,我们要使用一个新的宏(嗯,挺兴奋的):TEST_P,关于这个"P"的含义,Google给出的答案非常幽默,就是说你可以理解为”gtest为我们提供的参数化测试的功能给我们的测试带来了极大的方便,使得我们可以写更少更优美的代码,完成多种参数类型的测试案例。,其中T就是你需要参数化的参数类型,比如上面的例子,我需要参数化一个int型的参数。

2023-05-16 00:07:54 610

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言

在使用EXPECT_TRUE或ASSERT_TRUE时,有时希望能够输出更加详细的信息,比如检查一个函数的返回值TRUE还是FALSE时,希望能够输出传入的参数是什么,以便失败后好跟踪。msg

2023-05-16 00:05:14 534

原创 玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest

这里要提醒一下的是,如果你升级为VS2008的工程,那么你的测试Demo最好也是VS2008工程,不然你会发现很郁闷,你的Demo怎么也编不过,我也曾折腾了好久,当时我升级为了VS2008工程,结果我使用VS2005工程建Demo,死活编不过。使用VS的同学可以直接打开msvc里面的工程文件, 如果你在使用的是VS2005或是VS2008,打开后会提示你升级,升完级后,我们直接编译里面的“gtest”工程,可以直接编过的。1. 我们的测试案例本身就是一个exe工程,编译之后可以直接运行,非常的方便。

2023-05-16 00:04:53 727

C++2.0 新标准 (已优化)

C++新标准2.0视频,绝对是值得学习的好资料,里面是下载地址和密码,供学习和参考。

2020-08-30

C语言程序设计

C语言程序设计基础知识 介绍了C语言的基本概念

2014-05-22

空空如也

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

TA关注的人

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