log4cplus visual c++ 编译及调试小记 最近在调试一款SATA加密设备,发现设备有时加密出来的数据,再解密时与明文对不上,怀疑是通信问题。因此,急需要在测试工具中加入通信日志。由于对第三方日志库都不熟悉,所以随便选了个log4cplus软件集成到现有工具中。同时还要下载catch2, 在同时还要下载threadpool, 在下载完上述3个开源软件后,用Visual C++进行编译。进入到log4cplus/msvc14目录下,在log4cplus.sln上右键,使用visual studio 2019打开项目。
在主线程中等待AfxBeginThread启动线程退出 在windows MFC编程过程中,总有需要启动线程去处理任务的情况。MFC中常用的方法就是beginthread,CreateThread, AfxBeginThread等API. 其中AfxBeginThread这个API是属于MFC框架内的函数。beginthread属于C语言启动线程的函数。CreateThread属于windows API函数。既然选择了MFC框架,当然启动线程用AfxBeginThread最方便了。然而,线程启动后,如何优雅的退出,确是需要考虑的问题。
LCD英文字模库(16x8)模拟测试程序 字模,就是把文字符号转换为LCD能识别的像素点阵信息。电子发烧友可能都熟悉字模的用途。就是调用者通过向LCD模块发送字模数据,LCD根据字模数据在LCD面板上相应的像素描绘出图形或文字。现在,大部分的LCD都内置了字模库,只需告诉LCD模块想要显示的文字和坐标,LCD就会自动查询内置的字模库,然后就直接把内容显示出来。但是,外送字模给LCD模块去显示,也还是支持的。
win10 通过wmic命令行设置系统环境变量 而通过编程修改系统环境变量,需要调用注册表API或调用wmi API接口,都有些过于麻烦。此时,如果通过system函数,直接调用批处理文件,则只需要一行代码。批处理中,分别给出了创建环境变量,修改环境变量,删除环境变量的demo。可以根据需要调整批处理文件。在系统维护或编写程序过程中,经常需要对系统环境变量进行设置、修改、删除炒作。注:修改系统环境变量,需要有管理员权限。
go程序获取工作目录及可执行程序存放目录的方法-linux 通常就是指用户启动应用程序时,用户当时所在的文件夹的绝对路径。如:root用户登录到linux系统后,一顿cd(change directory)后, 到了/tmp文件夹下。此时,用户要启动某个应用程序,这个应用程序的工作目录就是/tmp。此时,在应用程序编码中,所有使用相对路径的地方,都是相对于工作目录而言的。如:要打开“./a.txt”, 实际上就是打开工作目录下的a.txt. 也就是/tmp/a.txt文件。
win10枚举所有证书服务提供者CSP和获取默认CSP 微软MSDN上提供的例子,现在在WIN10上还可以正常运行。但是微软貌似不推荐CSP其中的某些API继续使用。未来CNG(下一代加密技术)将成为主主流开发技术,希望开发者慢慢向CNG过度吧。
go cgo 字节数组切片转C指针的2种方法 go语言在使用 cgo 调用C语言编写的动态链接库是,许多API接口参数都是unsigned char *类型,此时就需要把go语言的[]byte类型转换为unsigned char *类型。
C++拷贝构造和移动构造函数小实验 自己些C++代码时,总是使用最简单的C++语法,一般不会用到拷贝构造和移动构造这些比较高级的语法。但是,在读别人的C++代码时,总是被弄得晕头转向。因此,也简单学习一下。正所谓知己知彼,百战不殆。
NSIS脚本制作windows软件安装包 本文是10年前做windows开发时,做安装包是留下的一点关于用NSIS打包安装程序的技术文档。虽然不全面,但是勉强够用。有兴趣的同学可以到下载全部脚本(共11个小例子),里面还有一个简单的ppt讲解。写的比较差,勉强可以参考。