自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

温故而知新

网络 源码 架构 人一能之,己百之;人十能之,己千之。

  • 博客(932)
  • 资源 (4)
  • 论坛 (37)
  • 收藏
  • 关注

原创 解决Ado MySQL“GetRecordCount“返回-1问题

在Open之前m_pConn->CursorLocation = adUseClient; //游标类型

2021-10-11 17:01:58 3

原创 Fail to create empty document错误

MFC程序在执行到ProcessShellCommand处,报"Fail to create empty document"。原因:MainFrm在OnCreate中有如下调用 char file[MAX_PATH]; sprintf(file,"%s\\lib_visual.dat",GetDirPath(PATH_SYS_DIR)); CFile f(file,CFile::modeReadWrite); f.Read(m_bDispLib,sizeof(m...

2021-10-11 14:13:45 4

原创 GCC过滤特定类型警告的方法

增加no-例如-Wunused-function是打开了unused-function类型警告。-Wno-unused-function则是关闭了unused-function类型警告。

2021-09-28 13:45:11 21

原创 VsCode建立工程

方法一:简单的使用“Open Folder”打开一个文件夹,这样也可以作为工程用。但是这样有个缺点,就是文件夹下所有的文件都会显示在工程中。日常一般只关注代码文件,推荐用方法二。方法二:打开空的VsCode,直接执行“Add Folder to WorkSpace”,选择一个文件夹后会弹出保存为WorkSpace的窗口,保存之后,就可以继续使用“Add Folder to WorkSpace”自由代码文件夹了。...

2021-09-18 10:10:29 29

原创 有符号数转无符号数的扩展问题

首先,计算机中为什么要有补码?答案是使符号位参加运算,从而简化加减法的规则,使减法运算转成加法运算,从而简化机器的运算器。计算机中无论是字符类型,或者是整数类型,也无论这个整数是几个字节。它都用全1来表示 -1。比如一个字节的数值中:1111 1111表示-1,那么,1111 1111 - 1 是什么呢?和现实中的计算结果完全一致。1111 1111 - 1 = 1111 1110,而1111 1110就是-2。这样一直减下去,当减到只剩最高位用于表示符号的1以外,其它低位全为0时,就是最小的负值了,在

2021-09-09 11:35:35 17

转载 C语言中的类型提升——基础概念,但还有很多人搞不清

今天主要说一下C语言的类型提升的事情。下面是引用的一个例子——这个代码是从一个朋友的博文中复制过来的,但是当时这位朋友没有去说明类型提升的问题,而是阐述汇编的过程。/***************************************************************/int main(){int i;unsigned char *p;char *p1;int a[] = {0xffffffff, 0xffffffff, 0xffffffff};

2021-09-09 11:32:42 13

原创 sqlite嵌套删除

delete from table where id=(select min(id) from table);注意:必须带括号

2021-08-20 09:03:36 21

原创 线程特定数据TSD及其实现原理

引言: 单线程C程序有两类基本数据:局部数据和全局数据。对于多线程C程序,添加了第三类数据:线程特定数据 那么为什么要引入线程特定数据呢?试想如果你的一个线程里面嵌套调用了很多函数,而你又想在这些函数之间使用一个 公共的变量,如果在单线程C中,我们是不是就要声明一个全局变量了呢?是的。但是我们想使声明的这个全局变量 只属于我们当前这个实例线程(同一个void *(*start_routine)(void *)可以实例化很多线程),其他的线程访问不到,

2021-08-18 16:28:31 26

原创 四舍六入五平均

#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <errno.h>#include <sys/types.h>#include <sys/stat.h>#include <time.h>#include "../apue.2e/include/apue.h"#include .

2021-07-30 14:40:46 23

原创 C++右值引用和std::move

关于“右值引用”不用想太多为什么,可以理解为,它只是为了告诉编译器要移动不要拷贝,以及释放原主人的所有权。std::move也可以用于指针,至于为何连指针这种轻型变量也用移动,可能主要也是出于编译器对于移动就要求这么做。...

2021-06-25 10:05:58 31

原创 MODBUS设备地址从40000开始而不从0开始,有什么特别的说法吗,还是仅仅是大家都习惯

(1)、 MODBUS 分为 0X ,1X,3X,4X 四种寄存器。 0X--->离散输出 (可读可写) 对应PLC为:DO 1X--->离散输入(只读) 对应PLC为:DI 3X--->输入寄存器16位(只读) 对应PLC为:AI 4X--->保持寄存器16位(可读可写) 对应PLC为:AO 同时根据上述规约,还可以扩展0X和4X,其中OX不仅可以对应DO,同时还可以对应上位机发送的“按钮” ...

2021-05-25 18:06:52 1082

原创 二进制字符串转十进制数字

unsigned int bin2int (std::string strBin){ unsigned int i = 0; const char *pch = strBin.c_str(); while (*pch == '0' || *pch == '1') { i <<= 1; i |= *pch++ - '0'; } return i;}

2021-01-20 17:53:47 259 1

原创 sqlite判断空值

对于整型字段:sqlite3_column_bytes返回的是整数十进制的字面值字符串的长度,例如整型值123,返回的是3,如果字段值为空,sqlite3_column_bytes返回0(可以用此判断是否是空值),sqlite3_column_int也返回0....

2020-12-29 18:38:03 407 1

原创 路由器当交换机用的设置方法

路由器自身集成一个交换机的功能,能将路由器当交换机使用。假设A路由器是一级,B路由器是二级。B路由器上的WAN口用不着,将B路由器的某个LAN口接到A路由器的某个LAN口上,将电脑接到B路由器的某个LAN口上,路由器就可以当交换机使用。即:外网----WAN口----A路由器----LAN口----B路由器----LAN口----计算机1、更改B路由器的LAN口地址,也就是通常那个192.168.0.1,因为一般路由器默认出厂的LAN口地址是一样的,更改以避免两个路由器的LAN口地址一样而I

2020-12-22 09:00:27 245

原创 Make高亮error和warning

make 2>&1 | grep -E "error|warning"

2020-10-19 17:58:24 217

原创 解决QTCreator调试时无法查看QString值的问题

取消勾选箭头所示选项即可:

2020-08-03 15:34:09 1148

原创 QtCreator添加多个工具栏

在看sqlitebrowser源码时发现存在多个工具栏,于是分析是如何添加上的。1、在QtCreator设计师界面中,在MainWindow上右键,有“添加工具栏”菜单项。(注意,一定要在MainWindow上右键,在其它控件上方点击则没有)。这样就可以添加多个工具栏了。2、把工具栏放到某个容器控件中,例如TabWidget或groupbox里。开始以为通过拖动就可以,但发现不行,看来QtCreator不具备这个功能。最后想了个办法,用其它文本编辑器打开.ui文件,剪切这个工具栏的相关内容到容器控件下。

2020-07-31 11:33:20 769

原创 Yocto Toolchain编译busybox

1、设置环境变量./opt/poky/1.8/environment-setup-cortexa7hf-vfp-neon-poky-linux-gnueabi2、cd到busybox的源码目录,配置编译选项$make menuconfig:Busybox Settings -->Build Options--->Cross Compiler prefix:arm-poky-linux-gnueabi--->Path to sysroot:/opt/poky/1.8/s.

2020-06-04 10:00:53 437

转载 QT5.5应用程序图标、exe图标设置

QT5.5应用程序图标、exe图标设置 设置应用程序图标(png文件) 在已有的工程中添加一个.qrc文件。 新建文件–>QT–>资源文件,即可添加,这里我们命名为update.qrc。 添加前缀–>添加需要使用的图片。将图片放到源码目录下。保存一下项目,在pro文件中将自动将qrc文件添加进去。 添加前缀 添加文件 在主程序ui文件的修改属性windowsicon项。 这里写图片描述选择自己需要的png...

2020-05-29 16:07:55 874

原创 如何查看exe程序是用什么语言开发的

把程序运行起来,然后用spy++看窗口类名。

2020-05-19 17:28:44 6158

原创 Iptables移植到嵌入式Linux系统

Linux下支持netfilter机制的配置工具就是iptables,它也就相当与一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从两方面来着手:1)内核支持netfilter;2)用户层的iptables配置命令。1.内核配置General setup --->[*] Sysctl support (在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward)Networking op

2020-05-14 09:28:13 242

原创 sqlite的prepare/step和busy/lock

1、sqlite3_prepare_v2 (1)用在写时,按sqlite文档的说法,如果开启了IMMEDIATE事务成功后,prepare操作是不会发生busy的,测试也确实未发生,但在写代码时出于周全考虑还是加上busy的处理。 (2)用在读时,测试表明,无论在prepare之前是否开启了事务(普通非IMMEDIATE),prepare操作可能会BUSY。从文档理解它只是编译,感觉是不含...

2020-04-15 11:30:26 217

原创 位运算如何对某一位置0或者置1

写成宏,方便移植#define setbit(x,y) x|=(1<<y) //将X的第Y位置1#define clrbit(x,y) x&=!(1<<y) //将X的第Y位清0

2020-04-13 10:28:16 2518

原创 Linux下TCP最大连接数受限问题

一、 文件数限制修改1、用户级别查看Linux系统用户最大打开文件限制:# ulimit -n1024(1) vi /etc/security/limits.conf* soft nofile 10240* hard nofile 10240其中mysql指定了要修改哪个用户的打开文件数限制。可用'*'号表示修改所有用户的限制;soft或hard指定要修改软限制还是硬限制;10...

2020-04-02 08:15:00 807

原创 sqlite api错误处理

char *errmsg = NULL;if (sqlite3_exec(dbconn, sql, NULL, NULL, &errmsg) == SQLITE_OK){ return true;}else{ printf("%s->%s", sql, errmsg); sqlite3_free(errmsg); return false;}注意:如果...

2020-04-01 11:29:35 209

原创 sqlite的count

以此表为例:CREATE TABLE MyData ( PID INTEGER PRIMARY KEY, GUID INTEGER, DTime DATETIME, Value DOUBLE, Flag INTEGER);CREATE UNIQUE INDEX MyData_Time...

2020-03-20 16:08:57 2050

原创 max group by order by

select id,guid,max(dataTime) from Data where id > 100 group by guid order by dataTime desc;执行步骤:1、执行where条件,得到原始查询结果;2、执行group by,通过group by字段对原始结果进行分组,每个分组生成为一行;3、执行max,对每个分组各自执行聚合函数max,也是生成为...

2020-03-19 17:16:32 258

原创 c++ const理解

1. 如果A是const对象,B是非const对象,则A拷贝给B是允许的。因为这是拷贝,对B更改不会影响到A。2. 如果A是const对象,R是对A的引用,则R必须定义为对常量对象的引用,因为不允许通过R修改A: const int ci = 1024; const int &r1 = ci; // 正确,引用及其对应的对象都是常量 r1 = 42; ...

2020-01-08 16:20:21 239

原创 C++派生类对象构造顺序

构造依如下顺序:1. 调用本类的基类的构造函数1.1 按照基类成员定义顺序对每个成员执行初始化1.2 执行基类构造函数体2. 调用本类的构造函数2.1 按照本类成员定义顺序引用初始化列表对每个成员执行初始化2.2 执行本类构造函数体总结为一句:首先初始化本类的基类部分,然后按照声明的顺序依次初始化本类的成员。(C++Primer P531)更进一步理解构造函数体的执行顺序:基...

2020-01-07 17:45:31 544

原创 dynamic_cast, dynamic_pointer_cast

1. 智能指针类型转换用static_pointer_cast,dynamic_pointer_cast等;2. dynamic_cast/dynamic_pointer_cast的转换,其类族基类中必须至少有一个虚函数,哪怕是虚析构函数。...

2020-01-07 13:49:00 489

原创 C++虚析构函数

1. 一般说来,凡是定义有虚函数的基类,析构函数都应当定义为虚析构函数。2. 虚析构函数的作用在于,用一个基类指针指向一个派生类对象时,在对基类指针执行delete时,如果基类析构函数不是虚函数,则只会调用基类的析构函数,而不会调用派生类的析构函数,会造成内存泄露,基类把析构函数定义成虚函数,则在调用派生类的析构函数后,会再调用基类的析构函数。当然了,如果对派生类指针执行delete,则无论基...

2020-01-06 10:08:13 124

原创 Windows下fread fwrite文本模式读写回车换行符 自动转换问题

fread 会把\r\n(0d0a)替换为\nfwrite 会把\n替换为\r\n(0d0a),\r\n会变成\r\r\n(0d0d0a)_fputts也是。参考:https://www.cnblogs.com/hjbf/p/11466485.html

2020-01-02 16:18:44 622

原创 C++动态库导出模板类(函数)

由于模板实例化是在编译时执行,如果在动态库中导出模板类(函数),因为实际的调用代码是在外部exe中,不在动态库本身中,所以在编译生成动态库的时候是不会生成实例的,这样在编译外部exe的时候就会报链接错误。所以无法在动态库中直接导出模板类(函数),当然,在动态库内部可以使用模板技术。...

2019-12-25 15:26:42 1654

原创 JsonCpp移植到ARM

下载https://github.com/open-source-parsers/jsoncpp解压cd到源码目录的src/lib_json目录下执行arm-linux-g++ -std=c++11 -shared -fPIC *.cpp -I../../include -o libjsoncpp.so将源码目录的include下的json目录添加到工程中包含头文件#inclu...

2019-12-11 15:39:59 293

原创 Oracle 查询指定条件的Max

select C.A, C.B from C,(select MAX(A) as A from C) D where C.A = D.A;

2019-12-04 15:47:21 1811

原创 c++定义对象语法

class A{};A a;//正确A a();//错误,编译器会认作函数调用A *p = new a();//正确,指定调用A的默认构造函数A *p = new a;// 正确,也会调用A的默认构造函数new出的对象,其内部成员,会自动初始化为0,当然如果有默认构造函数或指定了构造函数,会调用相应的构造函数进行初始化。...

2019-12-02 09:30:46 157

原创 关于递归代码的理解

递归代码分为三个部分,由前至后分为:1. 终结条件,分解方法。2. 递归调用3. 业务逻辑

2019-11-28 08:33:10 164

原创 google glog调试模式

参考一些网上资料,了解到glog通过NDEBUG宏控制是否打开调试模式,如果在编译时定义了该宏,则关闭了调试模式,相应的DLOG()等函数就不输出内容了,因为宏是在编译时展开的,所以按道理应该是在编译glog库的时候定义或不定义该宏。但实际上,通过查看Makefile,glog默认是定义了该宏的,即关闭了调试模式,可是在应用程序中调用DLOG()依然输出日志了。后来发现,是需要在应用程序编译的时候...

2019-11-21 16:29:52 1113

原创 ldd用法

详见https://blog.csdn.net/dyzhen/article/details/43601653

2019-11-21 09:29:37 288

原创 运行时链接动态库,报symbol lookup error: undefined symbol:错误

在exe里调用了so的函数,运行exe时提示symbol lookup error: undefined symbol:错误,在网上查原因,一般都说是so版本可能与exe不匹配,但是我的exe和so都是新编译的,确定版本没问题,后来怀疑是不是c++编译时函数别名不一致,但是也没问题。百思不得其解,最终发现是so库命名的问题,我把so库命名为util,库编译出来是libutil.so,实际上,操作系...

2019-11-21 08:57:50 3497

TCP/IP协议卷一

TCP/IP协议卷一,英文版 非得凑够20个字吗。

2011-12-27

jsp由浅入深

jsp入门的好帮手,对jsp基础语法有原理性的阐述

2007-10-12

simple.txt

用来被转换为.dic文件的.txt文件

2007-11-19

飞鸽传输源码(VC6)

飞鸽211版代码,已经转换,可在VC6下编译通过

2011-12-26

dyzhen的留言板

发表于 2020-01-02 最后回复 2020-01-02

严蔚敏版数据机构中求关节点的算法弄不明白,哪位给解释一下!

发表于 2007-08-18 最后回复 2019-12-02

c++语法问题

发表于 2019-11-27 最后回复 2019-11-27

用一个函数对象实现不同元素类型的排序

发表于 2012-03-30 最后回复 2015-11-11

CHtmlView上放置控件不显示

发表于 2012-03-05 最后回复 2013-04-11

Navigate2卡死是怎么回事

发表于 2012-05-17 最后回复 2013-03-26

为什么使用mysql存储过程的速度与直接用sql语句速度一样

发表于 2010-11-01 最后回复 2012-11-23

vc调用MySql存储过程,则存储过程中不能有select语句吗?

发表于 2011-03-17 最后回复 2012-11-23

MySQL存储过程中如何保存select count(*)的结果为整数

发表于 2011-04-16 最后回复 2012-11-23

请教一个简单的查询问题

发表于 2011-05-03 最后回复 2012-11-23

请教一个数据记录插入问题

发表于 2011-05-12 最后回复 2012-11-23

请问如何使搜索结果按指定顺序排序

发表于 2011-06-30 最后回复 2012-11-23

CListCtrl如何只让某格内容显示图像

发表于 2012-07-03 最后回复 2012-07-04

模态对话框点击外面如何销毁

发表于 2012-04-26 最后回复 2012-04-26

istream的ignore使用

发表于 2012-03-27 最后回复 2012-03-27

非模态对话框如何设置某控件为输入焦点

发表于 2011-09-19 最后回复 2011-09-19

如何修改程序图标(文件的图标)

发表于 2011-09-15 最后回复 2011-09-19

CListCtrl虚拟列表如何通过代码设置选中某条记录

发表于 2011-08-09 最后回复 2011-09-15

一个简单的ComboBox下拉框高度的问题

发表于 2010-11-19 最后回复 2011-09-13

怎么理解物理设备尺寸

发表于 2011-08-23 最后回复 2011-08-23

时间字符串转CTime

发表于 2011-07-07 最后回复 2011-07-08

如何设置CListCtrl属性

发表于 2011-06-28 最后回复 2011-06-28

IsWindow的用法

发表于 2011-06-16 最后回复 2011-06-16

CTreeCtrl 调用SelectItem(NULL)之后,切换窗口后,树呈灰色。。。

发表于 2011-06-03 最后回复 2011-06-03

子类化ComboBox列表框之后,列表框不能使用GetText吗

发表于 2011-04-01 最后回复 2011-04-01

[已答复]建议博客有一个目录浏览

发表于 2011-03-29 最后回复 2011-03-29

MFC导出函数加上__stdcall后,客户程序调用为什么会引起崩溃

发表于 2011-03-26 最后回复 2011-03-26

弹出菜单消失后,后面被遮住的部分显示空白

发表于 2010-12-01 最后回复 2010-12-02

CListCtrl虚拟列表如何取消选中

发表于 2010-11-29 最后回复 2010-11-30

vc如何判断一个字符串是否是合法目录

发表于 2010-11-09 最后回复 2010-11-10

骑驴找马,大家看看该选哪个

发表于 2010-07-10 最后回复 2010-07-12

vc6.0中unicode的问题,附源代码

发表于 2007-10-11 最后回复 2010-06-03

用IPicture时遇到的问题

发表于 2008-04-10 最后回复 2008-05-01

发个小问题,关于_stscanf的用法。

发表于 2007-11-23 最后回复 2007-12-06

高分求助 有做过Unicode编程的请 进来帮助一下

发表于 2007-11-19 最后回复 2007-12-06

编译类型设置为UNICODE,则_tfopen无法打开记事本

发表于 2007-10-16 最后回复 2007-10-22

vc6.0环境支持的字体能添加吗

发表于 2007-10-18 最后回复 2007-10-22

空空如也

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

TA关注的人 TA的粉丝

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