
语言开发
文章平均质量分 66
hsy12342611
这个作者很懒,什么都没留下…
展开
-
linux下文件锁使用总结
linux下文件锁使用总结原创 2023-06-15 17:35:14 · 5743 阅读 · 0 评论 -
linux下nm,objdump和ldd三大工具使用
linux下nm ldd objdump使用总结原创 2023-03-03 16:49:26 · 2225 阅读 · 0 评论 -
C++线程池的一种实现
C++线程池的一种实现原创 2023-01-01 00:20:22 · 1641 阅读 · 3 评论 -
C/C++领域的原子操作总结
C/C++常用原子操作原创 2022-12-28 12:13:01 · 2316 阅读 · 6 评论 -
C++ STL vector list set map容器循环通过迭代器删除元素注意事项
stl中通过迭代器删除vector,list,set,map中的元素原创 2022-12-24 13:41:14 · 5042 阅读 · 0 评论 -
C++成员函数当作参数调用的两种方式
C++成员函数当成参数进行调用原创 2022-12-23 11:26:42 · 5045 阅读 · 0 评论 -
C++利用模板实现消息订阅和分发
C++利用模板实现消息订阅和分发原创 2022-12-19 20:29:03 · 1519 阅读 · 0 评论 -
C++11中可变参数模板使用
C++可变参数模板原创 2022-12-04 20:01:56 · 618 阅读 · 0 评论 -
C_C++中文件,字符串和控制台格式化处理总结
C/C++文件,字符串和控制台格式化输入输出总结原创 2022-12-01 21:27:03 · 1504 阅读 · 0 评论 -
python中protobuf和json互相转换应用
python中protobuf和json互相转换原创 2022-11-30 10:06:39 · 5015 阅读 · 0 评论 -
Linux下C语言UDP协议通信实践
Linux下C语言UDP网络通信原创 2022-11-28 12:35:22 · 2116 阅读 · 0 评论 -
Linux下C语言实现HTTP文件服务器和TCP协议实现网络数据传输
Linux C语言http协议开发web文件浏览服务器 tcp协议开发服务器和客户端来进行数据传输原创 2022-11-27 23:02:15 · 3253 阅读 · 1 评论 -
QT下TCP协议实现数据网络传输
QT原创 2022-11-27 20:34:33 · 4209 阅读 · 6 评论 -
C语言简单方法判断机器是大端还是小端机
C语言判断机器小端还是大端原创 2022-11-27 19:27:38 · 992 阅读 · 0 评论 -
C_C++在linux和windows下文件操作比较总结
C_C++文件读写原创 2022-11-23 18:09:51 · 2076 阅读 · 0 评论 -
linux下C++11时间操作
C++11 chrono原创 2022-11-21 15:08:08 · 3396 阅读 · 0 评论 -
C++11中原子变量std::atomic使用小记
C++11 std::atomic原创 2022-11-09 13:14:32 · 4947 阅读 · 0 评论 -
GCC编译器下C语言不定长参数宏##__VA_ARGS__和__VA_ARGS__的使用
##__VA_ARGS__ __VA_ARGS__ va_list原创 2022-11-08 13:28:58 · 4073 阅读 · 1 评论 -
Linux下C语言时间处理函数
Linux下C语言时间日期常用操作原创 2022-11-07 11:07:26 · 379 阅读 · 0 评论 -
python中字符串(十六进制和常规)和字节流互转处理
python中字节流和字符串转换处理应用实践。原创 2022-06-17 17:29:36 · 1453 阅读 · 0 评论 -
python中Event实现线程间同步
Event在python线程间同步是一种常用的方法,本博客以生产者线程和工作者线程为例说明Event在线程间进行10次同步的应用。import threadingfrom threading import Event, Threadimport timeimport randomfrom time import sleeppevent = Event() #默认是没有事件的pevent.clear()cevent = Event() cevent.clear()runtimes原创 2022-04-09 18:17:22 · 762 阅读 · 0 评论 -
python读取ods格式的表格文件
1.安装odfpy模块pip install odfpy2.操作代码from odf import text, teletype from odf.opendocument import loaddef test_ods(): loc = '/home/heshiyang/Desktop/test.ods' textdoc = load(loc) allparas = textdoc.getElementsByType(text.P) print(te原创 2022-04-06 18:09:18 · 2696 阅读 · 0 评论 -
C++三种类型new运算符使用
1.new operator,平时用的最多的new操作符,其对应delete operator,不能被重载,其包含两个操作(既申请空间,又调用构造函数)(1)使用::operator new申请内存(2)调用类的构造函数class CTestUse{public: CTestUse() { cout << __FUNCTION__ << endl; } virtual ~CTestUse() { cout << __FUNCTION__ &l原创 2022-04-02 14:34:13 · 1654 阅读 · 2 评论 -
shell中find,grep,awk,sed,sort,uniq,wc混合使用案例
经典案例:查找目录/home/heshiyang/engine下的包含KEY_PATTERN的.h和.cpp文件,并提取每行中的第一列,让后将其中的:替换为空,然后查找不包含CvstringKeys.cpp,去重排序后的总个数find /home/heshiyang/engine -name "*.cpp" -o -name "*.h" | xargs grep "KEY_PATTERN" | awk '{print $1}'| sed 's/://g' | grep -v CvstringKey原创 2022-02-26 10:41:16 · 300 阅读 · 0 评论 -
C++与QML交互总结
C++与QML交互原创 2022-02-13 16:52:30 · 12917 阅读 · 9 评论 -
Bash将某个目录下非UTF8编码的.h和.cpp文件转码为UTF8编码
#!/bin/bashpattern="charset=utf-8"pattern1="charset=us-ascii"function read_dir(){ for file in `ls $1` do cur=$1/$file if [ -d $cur ]; then #echo $cur read_dir $cur else if [[ $cur = *.h ]] || [[...原创 2021-12-24 11:31:49 · 779 阅读 · 0 评论 -
Bash中字典,字符串,文件夹递归遍历操作记录
1.字典操作1.1定义字段declare -A mapfilemapfile=([file1]=/home/abc/test1.txt'[file2]='/home/abc/test2.txt'[file3]='/home/abc/test2.txt'[file4]='/home/abc/test3.txt'[file5]='/home/abc/test4.txt')1.2遍历字典for node_file in ${mapfile[@]}do echo ${no...原创 2021-12-17 19:10:23 · 807 阅读 · 0 评论 -
python2.7中字典,文件读写,文件替换记录
1.引入相关模块import datetimeimport sysimport reimport osimport io2. 设置字符集if sys.getdefaultencoding() != 'utf-8': reload(sys) sys.setdefaultencoding('utf-8') print sys.getdefaultencoding() #print "掉头".encode('utf-8') #print('i am ...原创 2021-12-17 18:18:07 · 727 阅读 · 0 评论 -
windows原生控件RichEdit使用梳理
RichEdit富文本编辑框在实际开发中应用的比较多,现将在平时工作中使用到的做以梳理:HMODULE m_hRichEditDll = NULL;HWND hRichEdit = NULL;1. 初始化RICHED20.dllBOOL InitRichEditCtrlModule(){ m_hRichEditDll = LoadLibrary_api_s(L"RICHED20.dll"); return NULL != m_hRichEditDll;}2. 创建...原创 2021-07-31 15:07:35 · 1827 阅读 · 0 评论 -
win32下将ICON转为BMP
项目中将HICON转为HBITMAP应用比较常见,代码如下:HBITMAP ConvertIconToBitmap(HICON Icon_Handle) { ICONINFO csII; int bRetValue = ::GetIconInfo(Icon_Handle, &csII); HDC hDC = GetDC(NULL); HDC hMemDC = CreateCompatibleDC(hD...原创 2021-07-30 18:53:38 · 338 阅读 · 0 评论 -
C++四大转换运算符
C语言类型转换直接(Type)方式进行转换,该类转换时, 代码的阅读性不高,不做安全性检查,const类型可以转非const,父类可以转为子类,转换时存在一定隐患。为此C++引入了四类类型转换运算符,分别如下:1. dynamic_cast 原型:dynamic_cast < type-id > ( expression ) 用于多态类型间的转换,转换时做运行期类型检查,转换时相对安全的,但是仅用于指针类型和引用类型。 MSDN路径:https://docs.micros...原创 2021-07-27 16:49:23 · 240 阅读 · 0 评论 -
C++11中tuple(元组)的使用
C++2.0中引入了tuple类型,该类型的引入,该类型的引入使得开发人员不需要定义结构体,就可以在一个对象中存储不同的数据类型,极大的方便了代码编写,举例代码如下:void TestTuple(){ tuple<int, int, float, string> tp(1, 2, 3.1, "全世界"); cout << "第一个元素为:" << get<0>(tp) << endl; cout <<...原创 2021-07-23 17:42:06 · 678 阅读 · 0 评论 -
C++标准中常用的4类智能指针
C++标准中的4类智能指针1. 智能指针分类1.1 auto_ptr1.2 shared_ptr1.3 unique_ptr1.4 weak_ptr其中1是C++98的方案,2,3,4是C++2.0引入的,auto_ptr采用copy语义来转移指针资源,转移指针资源的所有权的同时将原指针置为NULL,这跟通常理解的copy行为是不一致的(不会修改原数据),而这样的行为在有些场合下不是我们希望看到的。比如在STL中,有很多将现有元素复制到某个局部临时对象中,但对于auto_ptr,却将原元素置为n原创 2021-07-23 17:01:23 · 727 阅读 · 0 评论 -
VC++使用WinReg系列API操作注册表
1.注册表用途 windows注册表就像操作系统的数据库,系统运行的一些参数可以存放在注册表中,用户应用程序为了防止程序退出一些关键数据丢失,也可以在其中保存软件运行的一些参数2.32位程序访问64位系统注册表 32位程序在64位系统上不能直接访问64位路径注册表,而是跳转访问WoW6432Node下, 要想直接访问64位注册表路径,使用参数KEY_WOW64_64KEY, 要想访问32位注册表路径,使用参数KEY_WOW64_32KEY 注册表常用的四个顶级项:...原创 2021-07-15 12:03:36 · 549 阅读 · 0 评论 -
GB2312简体中文编码表
GB2312简体中文编码表code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +FA1A0 、 。 · ˉ ˇ ¨ 〃 々 — ~ ‖ … ‘ ’A1B0 “ ” 〔 〕 〈 〉 《 》 「 」 『 』 〖 〗 【 】A1C0 ± × ÷ ∶ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠A1D0 ⌒ ⊙ ∫原创 2013-09-11 14:30:49 · 2335 阅读 · 0 评论 -
VC++ 操作access数据库方法
http://www.yesky.com/413/1839913.shtmlhttp://dev.yesky.com/243/2230743_2.shtmlhttp://hi.baidu.com/whyspai/item/09c905f063daba6b3c148581 以上三个网站都是vc++操作access数据库最好的参考,看了它们以后就可以随意操作access数据库了!!!原创 2013-09-24 17:16:56 · 1038 阅读 · 0 评论 -
CreateMutex函数函数用来实现进程互斥
CreateMutex函数正常情况下,一个进程的运行一般是不会影响到其他正在运行的进程的。但是对于某些有特殊要求的如以独占方式使用串行口等硬件设备的程序就要求在其进程运行期间不允许其他试图使用此端口设备的程序运行的,而且此类程序通常也不允许运行同一个程序的多个实例。这就引出了进程互斥的问题。 实现进程互斥的核心思想比较简单:进程在启动时首先检查当前系统是否已经存在有此进程的实例,如果原创 2013-09-25 17:55:25 · 6118 阅读 · 2 评论 -
MFC单文档应用程序中各个类之间相互调用的函数方法
如何在MFC单文档中创建多视图基本步骤如下:1.首先创建一个MFC单文档应用程序。2.添加4个MFC类TopLView、BottomLView、TopRView、BottomRView,基类为CView。3.添加一个MFC类CControlForm,基类为CFormView,对话框ID默认。4.创建一个切分类,如MySplitter,基类为CSplitterWnd(默认基类选项原创 2013-12-12 10:33:06 · 5458 阅读 · 0 评论 -
Linux下makefile脚本的编写
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写ma原创 2013-08-19 13:53:45 · 3150 阅读 · 1 评论 -
动态库中使用对话框资源
这里我们从Win32 DLL和MFC DLL两个方面来分析并解决这个问题。1.Win32 DLL在Win32 DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件。然后使用DialogBox或者CreateDialog这两个函数(或相同作用的其它函数)来创建对话框,并定义你自己的对话框回调函数处理对话框收到的消息。下面通过一个具体实例来学习转载 2014-08-14 15:41:24 · 712 阅读 · 0 评论