日常小记
求知小鱼儿
路漫漫其修远兮,吾将上下而求索。
展开
-
c++ 开发中读写yaml配置文件
4、创建自己测试用的文件夹,将yaml-cpp目录下面的include 目录拷贝到测试目录下,将编译后的动态库也拷贝到测试目录下,同事目录下在编写三个文件,分别为CMakeLists.txt、config.yaml、main.cpp。1、yaml-cpp 是一个开源库,地址在 github 上,https://github.com/jbeder/yaml-cpp。2、进入到yaml-cpp目录,新建一个build目录。获取yaml-cpp源码。在ubuntu中可以输入。原创 2023-04-04 17:32:19 · 1384 阅读 · 0 评论 -
Python isinstance() 函数
一、简介1、isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。2、isinstance() 与 type() 区别:type() 不会认为子类是一种父类类型,不考虑继承关系。isinstance() 会认为子类是一种父类类型,考虑继承关系。如果要判断两个类型是否相同推荐使用 isinstance()。二、语法isinstance(object, classinfo)三、参数object -- 实例对象。classinfo -- 可以是直接或间接类名、基原创 2020-10-26 11:05:21 · 468 阅读 · 0 评论 -
C++中Struct 的加强
Struct 的加强先来声明一个结构体类型,如下所示:struct Student{ char name[20]; int age;};C语言的struct 定义了一组变量的集合,C编译器并不认为这是一种新的类型,所以在定义变量结构体变量时一定要在前面加上struct关键字,例如:struct Student stu = {"wang",10};通常我们会用typedef来对结构体类型进行重命名,从而避免在每次定义变量时都要加上struct关键字,但是在C++中,认为st原创 2020-10-24 16:41:11 · 115 阅读 · 0 评论 -
冯诺依曼结构与哈佛结构的区别
主要区别:冯·诺依曼结构也称普林斯顿结构, 是一种将程序指令存储器和数据存储器合并在一起的存储器结构。 程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置, 因此程序指令和数据的宽度相同。而哈佛结构将程序指令和数据分开存储, 指令和数据可以有不同的数据宽度。 此外, 哈佛结构还采用了独立的程序总线和数据总线, 分别作为CPU与每个存储器之间的专用通信路径, 具有较高的执行效率。 下图描述了冯·诺依曼结构和哈佛结构的区别。...原创 2020-09-09 08:04:13 · 2944 阅读 · 1 评论 -
关于memset函数的使用误区
一、背景最近在练习中使用到了memset函数,程序如下:上述程序代码本想将数组a初始化赋值为1.但实际运行效果如下图:二、原因分析1、函数原型memset函数的原型为void *memset(void s, char ch, size_t n);函数解释:将s中前n个字节 用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。2、问题分析如果用memset(a,1,20);(实际上与memset(a,1,5原创 2020-09-06 22:26:48 · 338 阅读 · 1 评论 -
将车牌号转换成十六进制数
将车牌号转换成(2020年8月8号)BusNum = "鄂12345"print(''.join([hex(b)[2:] for b in BusNum.encode('gbk')]))原创 2020-08-08 00:10:58 · 1312 阅读 · 0 评论 -
十六进制数据转换成车牌号
十六进制数据转换成车牌号(2020年8月7号)from binascii import *import binasciiprovince = "bcbd"verStr = binascii.unhexlify(province)verArea = "%s"%(verStr[0:2].decode('gbk'))LetterAndNum = '\x46\x31\x32\x33\x34\x35'print("%s%s" % (verArea, LetterAndNum.encode('utf-8原创 2020-08-07 23:57:31 · 1248 阅读 · 0 评论