10 zzhongcy

尚未进行身份认证

因为站在了巨人的肩上,所以我看得更远。 当你发现自己的才华撑不起野心时,就请安静下来学习吧

等级
博文 450
排名 3k+

pytest assert Exception

AssertingwiththeassertstatementpytestallowsyoutousethestandardpythonassertforverifyingexpectationsandvaluesinPythontests.Forexample,youcanwritethefollowing:#contentof...

2019-07-05 11:03:07

玩转Google开源C++单元测试框架Google Test(gtest)

一、前言这篇文章主要总结gtest中的所有断言相关的宏。gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是:1.ASSERT_*系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例)。2.EXPECT_*系列的断言,当检查点失败时,继续往下执行。二、示例//int型比较,预期值:3,实际值:Ad...

2019-07-02 16:38:27

企业各职位英文缩写 PM,TM,PL,TL,SE,PG,CEO,CFO

企业各职位英文缩写:GM(GeneralManager)总经理VP(VicePresident)副总裁FVP(FirstVicePresident)第一副总裁AVP(AssistantVicePresident)副总裁助理CEO(ChiefExecutiveOfficer)首席执行官,类似总经理、总裁,是企业的法人代表。COO(ChiefOperation...

2019-06-27 14:24:21

调用Bison和Flex例子

https://pandolia.net/tinyc/ch13_bison.htmlFlex(LexicalAnalyzar) Lex是一个产生词法分析器的工具(最早是EricEmersonSchmidt和MikeLesk制作)是许多UNIX系统的标准词法分析器(lexicalanalyzer)产生程序,而且这个工具所作的行为被详列为POSIX标准的一部分。而Fle...

2019-06-26 18:08:39

YACC(BISON)使用指南

YACC(YetAnotherCompile-Compiler)是语法分析器生成工具,它生成的是LALR分析器。Yacc于上世纪70年代产生,是美国贝尔实验室的产品,已经用于帮助实现了几百个编译器。Yacc是linux下的工具,本实验使用的编译工具是cygwin(cygwin在windows下模拟一个linux环境)下的bison,它与Yacc的使用方法基本相同,只有...

2019-06-26 17:20:51

boost::scoped_ptr和std::auto_ptr介绍

1std::auto_ptr1.1auto_ptr介绍智能指针能保证,无论在何种情况下,只要自己被摧毁,就一定连带释放其所指资源。auto_ptr是这样的一种指针:它是“它所指向的对象”的拥有者。auto_ptr要求一个对象只能有一个拥有者,严禁一物二主。不再需要delete,也不再需要catch了。不用担心忘掉delete动作,担心程序异常结束时内存遗失或者资源遗失,只...

2019-06-24 16:51:30

Linux--用SecureCRT来上传和下载文件

文件传输以前使用过,最近视乎有点遗忘,这里记录一下。SecureCRT下的文件传输协议有以下几种:ASCII、Xmodem、Ymodem、ZmodemASCII:这是最快的传输协议,但只能传送文本文件。 Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。 Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速...

2019-06-20 15:37:44

librdkafka配置参数

http://kafka.apache.org/documentation.html#configuration全局配置属性属性 C/P 范围 默认值 描述 builtin.features * gzip,snappy,ssl, sasl,regex,lz4 标示该librdkafka的支持的内建...

2019-06-13 13:37:01

Google Test(GTest) protect保护/私有private属性代码测试技术

对于算法项目,基本都是被调用方,像mlr是以动态链接库的形式被isearch调用,那mlr模块暴露的公共接口是针对isearch,但对mlr的测试不仅仅是靠这些公共接口就够的,因为其本身的很多逻辑都是在私有的,这就需要我们有时候对其私有方法和成员进行测试。下面有几种打开私有成员和方法的一些办法:1.加宏编译即在你需要打开私有的头文件中加入#defin...

2019-06-12 16:15:29

gcc 优化选项 -O1 -O2 -O3 -Os 优先级

Gcc编译优化简介gcc提供了为了满足用户不同程度的的优化需要,提供了近百种优化选项,用来对{编译时间,目标文件长度,执行效率}这个三维模型进行不同的取舍和平衡。优化的方法不一而足,总体上将有以下几类:1)精简操作指令; 2)尽量满足cpu的流水操作; 3)通过对程序行为地猜测,重新调整代码的执行顺序; 4)充分使用寄存器; 5)对简单的调用进行展开等等。...

2019-06-11 16:32:33

vi/vim粘贴代码和注释格式混乱的解决方法

现象在vim新建文件的时候,黏贴代码会自动缩进,导致格式非常混乱。或是粘贴注释出现自动注释:vim复制代码包含注释时格式会乱掉每次复制代码时,如果代码里有//这样的注释就容易让格式乱掉,通过下面的设置就可以避免这种情况。粘贴代码时取消自动缩进VIM在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉,我知...

2019-06-10 18:07:41

c++11: thread_local

thread_local变量是C++11新引入的一种存储类型。它会影响变量的存储周期(Storageduration),C++中有4种存储周期:automatic static dynamic thread有且只有thread_local关键字修饰的变量具有线程周期(threadduration),这些变量(或者说对象)在线程开始的时候被生成(allocated),在线程结束的时...

2019-06-10 13:47:49

Boost beast 使用例子

最近接触到了Boostbeast,这里记录一下。IntroductionBeastisaC++header-onlylibraryservingasafoundationforwritinginteroperablenetworkinglibrariesbyprovidinglow-levelHTTP/1,WebSocket,andnetw...

2019-06-05 13:41:38

cpp-netlib与boost库之间,ABI不匹配问题

问题最近遇到一个问题。http获取消息卡死。我们的环境是:boost版本1.57,用的C++17编译的库<-DCMAKE_CXX_FLAGS=-std=c++17>。cpp-netlib版本cpp-netlib-0.13.0-final,用C++17编译不过,就用C++11编译的<-DCMAKE_CXX_FLAGS=-std=c++11>。最后使用c...

2019-06-05 11:38:36

boost spirit ——编译器,语法解析器

Spirit是什么简单来说,Spirit是一个parsergenerator,功能与Yacc,ANTLR类似,且也是基于EBNF来描述文法,再基于文法生成parser,但与前面这些工具相比,它最大的不同点在于它使用了C++代码来对文法进行描述,通过非常残暴的模板编程技巧,在编译阶段就生成了相应的parser。从使用者的角度来看,文法是用代码进行描述的,因此...

2019-05-29 18:07:02

再谈shared_ptr,以及shared_ptr参数传递以及构造细节

shared_ptr在boost库中已经有多年了,C++11又为其正名,把他引入了STL库,放到了std的下面,可见其颇有用武之地;但是shared_ptr是万能的吗?有没有什么样的问题呢?本文并不说明shared_ptr的设计原理,也不是为了说明如何使用,只说一下在使用过程中的几点注意事项。参数值传递代码如下:#include<iostream>#inclu...

2019-05-23 13:13:02

Git + jenkins 部署CI环境

Github配置:settings=>Developersettings=>Personalaccesstokens=>新增tokens配置钩子:图片.pngJenkins安装Jenkins基于Java,所以需要先安装java。jdk官方下载:地址图片.png图片.png选择符合...

2019-05-17 09:57:07

C++头文件中定义static/const

温故知新!网上查看到这篇文章,终结的很好,自己也修改了,这里记录一下:背景看到一个头文件,是专门定义各种常量的,有一天发现这里的常量定义既使用了static,又使用了const,这个文件没有类,全部都是字符串的定义//QVNDefine.h#ifndefQVNDefine_h#defineQVNDefine_hconststringVN_LIST=...

2019-05-10 17:31:27

protobuf中\0结尾的string数据丢失的问题

首先定义一个protobuf结构,如下:messagePerson{requiredint32mid=1;requiredint32type=2;}再来看下这段代码,看似没有问题:Personpsn0;psn0.set_mid(1);psn0.set_type(0);stringstr0;psn0.SerializeToStrin...

2019-05-10 14:28:25

__attribute__ ((format (printf, 2, 3))); 介绍

功能:__attribute__format属性可以给被声明的函数加上类似printf或者scanf的特征,它可以使编译器检查函数声明和函数实际调用参数之间的格式化字符串是否匹配。format属性告诉编译器,按照printf,scanf等标准C函数参数格式规则对该函数的参数进行检查。这在我们自己封装调试信息的接口时非常的有用。format的语法格式为:format(a...

2019-05-10 14:19:53
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。