自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(32)
  • 资源 (85)
  • 收藏
  • 关注

原创 查看Windows、linux动态库的导出函数

打开vs的命令窗口:在命令行输入命令:dumpbin /exports dll文件完整路径,即可得到DLL的接口。如:dumpbin /exports “C:\Windows\System32\user32.dll”查看静态库的信息要用命令行来实现:dumpbin /LINKERMEMBER Test.lib > 1.txt上面的功能是将静态库的信息导出保存在1.txt文件中,这样就可以在1.txt文件中查看相关的信息了linux动态库(参考:ht...

2020-06-29 09:00:40 1332

原创 各种assert

include <assert.h>void assert (int expression);虽然在cplusplus上面assert是这样子的,但是其实它是一个宏。当assert的表达式(即参数expression)等于0或者为false时,assert会向stderr输出一些错误信息,并且调用abort终止程序运行。assert输出的错误信息不同的库可能不一样,但是一般都会包含错误的表达式、源文件的名字、assert所在的行数。同时,C++提供了另外一个宏 NDEBUG 用来使

2020-06-16 11:26:09 551

转载 MFC中TRACE的用法

TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了,切记,切记)4.然后就会在OUTPUT中的DEBUG窗口中看到TRACE内容了,调试执行会自

2020-06-16 10:58:52 1451

转载 QByteArray详解(qt)

QByteArray在串口通讯中经常被使用,有一定必要较为全面详细的对QByteArray进行阐述。1 初始化2 访问与赋值访问QByteArray主要有4中方式,分别为[]、at()、data[]和constData[]。其中[]和data[]为可读可写,at()和constData[]仅为可读。如果仅是读,则通过at()和constData[]访问速度最快,因可避免复制处理。示例如下:QByteArray ba;ba.resize(6);ba[0] = 0x3c;ba[1] =...

2020-06-10 16:40:41 5643 1

转载 QString与QByteArray互相转换的方法

// QString转QByteArray方法//Qt5.3.2QString str("hello"); QByteArray bytes = str.toUtf8(); // QString转QByteArray方法1QString str("hello"); QByteArray bytes = str.toLatin1(); // QString转QByteArray方法2123456//QByteArray转QString方法//Qt5.3.2 QB...

2020-06-10 16:40:23 2130

转载 qt中的toUtf8, toLatin1, Local8bit, toUcs4

toLatin1、toLocal8Bit都是QString转QByteArray的方法,Latin1代表ASCII,Local8Bit代表unicode1 首先说下字符集。gb18030字符集兼容了gbk字符集,以两个字节表示一个文字。windows系统可能使用的就是这两种的一种。unicode字符集以2个或以上的字节表示一个汉字。通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字.

2020-06-10 16:39:58 11649 2

转载 Unicode?utf-8?GB2312?

最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255,如果要表示更大的整数,就必须用更多的字节。最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码。但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr

2020-06-10 16:39:16 133

原创 MFC字符串转换(UTF8、gb2312)

class ToolBase{public: static CString UTF8ToGB2312(const char *pSrc, int iLen) { char pResult[2048] = {0}; int i = 0, j = 0; while (i < iLen) { if (pSrc[i] < 0 && i+2<iLen && pSrc[i+1] < 0 && pSrc[i+2] &l.

2020-06-10 16:39:05 1157

转载 _tcschr、_tcsrchr

好处:是可以不管是用unicode 编码还是其他 ,代码都不用改.C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:1、_tcschr代替strchr或者wcschr函数功能:查找一个字符串中首次出现的指定字符。函数原型: char *strchr(const char* _Str,int _Val)头文件:#include <string.h>功能: 查找字符串s中首次出现字符c的位置返回值:成功则返回要查找字符第一次出现的位置,失败返回...

2020-06-09 15:47:32 735

转载 使用_tcscpy代替strcpy、wcscpy、lstrcpy; strcpy_s

好处:是可以不管是用unicode 编码还是其他 ,代码都不用改.C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:lstrcpy是windows API 函数,其他的都是C库函数,既能作用于ASCII又能用于UNICODE函数功能:该函数复制一个字符串到缓冲区函数原型:LPTSTR lstrcpy(LPTSTR lpString1,LPCTSTR lpString2);参数:lpString1:指向接收由参数lpString2指向字符串内容的缓冲区。缓冲.

2020-06-09 15:47:17 2152

转载 A2W、W2A、A2T、T2A的使用方法(_T、L)

1、A2W和W2A 在《Window核心编程》,多字节和宽字节之间转换比较麻烦的,MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。那么使用ATL的一个很好的字符串的转换宏:A2W和W2A。 (1)A2W的用法:USES_CONVERSION; CStringtmpStr; char*LineChar="fdsfdsa"; constWCHAR*cLineChar=A2W(LineChar)...

2020-06-09 15:46:16 2876 1

转载 __declspec(dllexport)和def文件导出dll方法

一,__ declspec(dllexport):将一个函数声名为导出函数,通常它和extern“C”合用,形式如下:extern "C"{ __declspec(dllexport) void FUNCTION() { }}由于C ++存在函数重载,因此__declspec(dllexport)FUNCTION(int,int)会被装饰,例如被装饰成为function_int_int,而且不同的编译器decorate的方法不同,造成了在用GetProcAddress

2020-06-09 15:20:12 1364

转载 事件EVENT,WaitForSingleObject(),WaitForMultipleObjecct()和SignalObjectAndWait() 的使用

用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。Windows提供了许多内核对象来实现线程的同步。这些内核对象有两个非常重要的状态:“已通知”状态,“未通知”状态(也有翻译为:受信状态,未受信状态)。Windows提供了几种内核对象可以处于已通知状态和未通知状态:进程、线程、作业、文件、控制台输入/输出/错误流、事件、等待定时器、信号量、互斥

2020-06-09 14:31:25 568

转载 QSettings 用法总结(很好用)

用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位置,一些别的设置,等等这些都可以通过Qsettings来实现。我们知道,这些settings一般都是存在系统里的,比如windows一般都写在系统注册表或者写INI文件,mac系统一般都在XML文件里,那么按照一般的标准来说,许多应用程序是用INI文件来实现的。而Qsettings就是提供了一种方便的方法来存储和恢复应用程序的settings。QSettings的API是基于Qvariant,Qvaria...

2020-06-09 12:26:57 1812

原创 qt的pro工程文件(Qt Creator怎样更改默认构建目录)

QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings# depend on your compiler). Pl.

2020-06-09 12:23:07 2390

转载 Q_UNUSED用来避免编译器警告(Qt中屏蔽警告和调试信息)

Q_UNUSED() 没有实质性的作用,用来避免编译器警告inttransition::getSTL(inttype){Q_UNUSED(type);return123;}方法一:在提示警告函数里面添加Q_UNUSED(arg1);方法二:在pro工程文件最后加入如下代码:QMAKE_CXXFLAGS += -Wno-unused-parameter...

2020-06-09 11:34:27 855

转载 Qt核心剖析: moc

前面我们说过,Qt 不是使用的“标准的” C++ 语言,而是对其进行了一定程度的“扩展”。这里我们从Qt新增加的关键字就可以看出来:signals、slots 或者 emit。所以有人会觉得 Qt 的程序编译速度慢,这主要是因为在 Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。

2020-06-09 11:30:14 1119

转载 GetTickCount() 函数的作用和用法

DWORDGetTickCount(void);在Release版本中,该函数从0开始计时,返回自设备启动后的毫秒数(不含系统暂停时间)。在Debug版本中,设备启动后便从计时器中减去180秒。这样方便测试使用该函数的代码的正确溢出处理。返回值:如正确,返回毫秒数。Header:Winbase.h.Link Library:Coredll.lib.2) 应用用来计算某个操作所使用的时间:Start:=GetTickCount;...//...

2020-06-09 10:27:33 597

转载 Qt学习笔记(QAction

在编写界面程序时经常会用到单选项或者复选项,界面按钮方式可以采用QCheckBox、QRadioButton配合QGroupBox实现。而另一种情况是采用菜单项实现,而菜单栏实现单选或者多选一般采用QAction实现。使用QAction实现单选的方法:将多个QAction添加到QActionGroup,将QActionGroup设置为exclusive即可,即setExclusive(true);示例(action已经在设计师界面上定义): /*动静态切分算法action的互斥选择设置*..

2020-06-08 15:08:21 803

转载 QT学习之QString的arg方法

在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(只是有点类似)。在QT5的帮助文档中,可以看出以下几点: 使用arg(str1, str2, str3)这种方法进行替换。 使用arg(str1).arg(str2).arg(str3)这种方法进行替换。 ​使用arg(int,int,int)这种方式进行替换。 解释以下两种方法:一:使用arg(str1,str2,str3)这种方法要求str1、str2、str3都为const...

2020-06-08 15:05:28 1252

转载 Qt deletelater函数分析

该函数是QObject类的函数:deletelater的原理是 QObject::deleteLater()并没有将对象立即销毁,而是向主消息循环发送了一个event,下一次主消息循环收到这个event之后才会销毁对象。所有继承自QObejet类的类都会维护一个自己的子对象列表,同时会存储自己的父对象,所以界面中的各个控件(各个控价的基类都是QObject)可以实现层次!“当我们使用父对象来创建一个对象的时候 ,父对象会把这个对象添加到自己的子对象列表中。当这个父对象被删除的时候,它会遍历它的

2020-06-08 14:23:39 3507

原创 qt调用多个命令压缩文件(QProcess)(启动外部程序的两种方式)

CString strCmd; strCmd.Format(_T("cd %s/ && tar -czf %s.tgz *.*"), lpszPath, lpszPath); QProcess p(0); QStringList options; options <<"-c"<< CStringToQString(strCmd); p.start("sh", options); p.waitForFinished().

2020-06-08 14:09:32 1416

转载 Windows不重启系统,实现环境变量的生效

使用windos+r打开dos窗口,执行如下:我们可以看到我们设置的path生效了,系统的默认属性也木有了,是不是很郁闷啊,不用担心,这个暂时解释为系统缓存的关系以后会详细的介绍更深层次的。这个时候我们需要的是重新打开一个dos界面,再次执行java -verion,这次的显示正常了。我们echo %path% 发现环境变量生效了...

2020-06-08 14:06:26 193

转载 QThread必须要了解的几个函数(函数详解)

概述如果想对Qt中的QThread有个更加深刻的了解,必须要知道这几个重要的函数,现在就一一介绍下。函数介绍属性 返回值 函数体 功能static QThread * QThread::currentThread() 返回当前线程的指针,静态函数。static Qt::HANDLE QThread::currentThreadId() 返回当前线程的句柄,静态函数static bool QThread::...

2020-06-08 11:52:02 4115

原创 QT的moveToThread以及连接方式

结果:Main Thread: 0xb84AutoConnection : 0x16bcDirectConnection : 0x16bcQueuedConnection : 0x16bcAutoConnection : 0x16bcDirectConnection : 0xb84QueuedConnection : 0x16bconSelfPushed : 0xb84DirectConnection : 0xb84onExitPushed : 0xb84Que

2020-06-08 11:33:20 466

转载 Qt多线程-QThread,同步、锁

1. 介绍QThread是Qt提供的线程类,每一个QThread均可管理一个线程。其具有两种使用方式:1、继承为QThread的子类;2、继承为QObject的子类,并使用QObject::moveToThread将此对象移到线程中运行QThread提供了如下基本函数:线程启动:start()运行一次线程终止:terminate 终止线程,强制终止线程但会依据操作系统的调度策略,可能不是立即终止,最好用wait等待quit退出线程,也可以调用exit,效果相同,会正常终止线程。线程

2020-06-08 10:19:09 3722

转载 Qt带返回值的信号发射方式(使用QMetaObject::invokeMethod)

一般来说,我们发出信号使用emit这个关键字来操作,但是会发现,emit并不算一个调用,所以它没有返回值。那么如果我们发出这个信号想获取一个返回值怎么办呢?两个办法:1.通过出参形式返回,引用或者指针的方式带回;比如emit sig(int& i)或者emit sig(void* pointer),但是这个方法有一个弊端,稍后介绍第二种方式会提醒。2.通过qt自带的invoke机制调用:参考文档对QMetaObject::invokeMethod的说明:Invokes the member

2020-06-08 10:15:08 1153

转载 QT信号槽connect函数详解(连接方式)

connect(sender,SIGNAL(signal),receiver,SLOT(slot),Qt::DirectConnection);Qt::DirectConnection参数 参数含义Qt::AutoConnection 默认值,使用这个值则连接类型会在信号发送时决定。如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则自动使用Qt::QueuedConnection类型。Qt::DirectConnec...

2020-06-08 09:55:37 3827

原创 自动释放内存模板(自动关闭等等)

template <class T>class UniquePtr{public: UniquePtr(const std::vector<std::string>& strOids) :m_ptr(NULL), m_isValid(false) { m_ptr = new SnmpVarBindList; if(m_ptr == NULL) { return; } SnmpVarBindList* tmp = (SnmpVar.

2020-06-05 15:47:35 254

转载 win32应用程序创建流程(消息处理)(窗口过程WindowProc)

编写窗口程序的步骤: 1 定义WinMain函数 2 定义窗口处理函数–自己定义处理消息 3 注册窗口类(往OS写入数据) 4 创建窗口 (在内存中创建窗口) 5 显示窗口(根据内存中对于窗口的描述信息,在显示器中绘制窗口) 6 消息循环(提取/翻译/派发) 7 消息处理#include "stdafx.h"HINSTANCE g_hInstance = 0;//窗口处理函数LRESULT CALLBACK WndProc( HWND hW.

2020-06-05 11:03:22 1477

原创 MFC不显示窗口接收消息(窗口过程WindowProc)

#pragma onceclass __declspec(dllexport) CSingle{private: CSingle();public: ~CSingle() { delete m_pWin; } static CSingle& instance() { static CSingle ins; return ins; } HWND GetWnd(); void CloseWindow();private: class CMWin.

2020-06-05 10:44:51 783

转载 Windows程序的生与死---窗口的生命周期(窗口过程WindowProc)

1)程序初始化过程中调用CreateWindow,为程序建立了一个窗口,做为程序的萤幕舞台。CreateWindow 产生窗口之后会送出WM_CREATE 直接给窗口函数,后者于是可以在此时机做些初始化动作(例如配置内存、开文件、读初始资料...)。2)程序活着的过程中,不断以GetMessage 从消息贮列中抓取消息。如果这个消息是WM_QUIT,GetMessage 会传回0 而结束while 循环,进而结束整个程序。3)DispatchMessage 透过Windows USER 模块的协助与..

2020-06-05 10:35:38 517

FileTrans.rar

FileTrans.rar

2022-03-24

深入理解统一诊断服务(UDS)ISO14229-1-Mr.JING.pdf

深入理解统一诊断服务(UDS)ISO14229-1-Mr.JING

2021-12-19

autosar 02-电子文档.7z

autosar 02-电子文档.7z

2021-10-11

javaScript学习笔记总结.docx

javaScript学习笔记总结.docx

2021-03-17

CSS学习总结.docx

CSS学习总结.docxCSS学习总结.docxCSS学习总结.docx

2021-03-17

html总结.docx

html总结.docx html总结.docx html总结.docx

2021-03-17

apache-ant-1.9.15.rar Windows版本

apache-ant-1.9.15 Windows版本

2021-03-12

svnant-1.3.1.rar

svnant-1.3.1, 全面,包括6个jar包,把里面lib文件夹里的jar包拷到ant安装路径下的lib文件夹即可

2021-03-12

7z压缩工具,包括7z.exe与72.dll

7z压缩工具,包括7z.exe与72.dll

2021-03-12

ant ftp.rar

ant ftp 的两个jar包,把两个jar包放ant的安装目录下的lib文件夹里即可

2021-03-12

马士兵JAVA笔记(全).docx

马士兵JAVA笔记(全).docx

2021-03-12

javascript笔记(韩顺平完整版).docx

javascript笔记(韩顺平完整版).docx

2021-03-12

OBDB2DB数据库备份工具

其他工具速度慢的主要原因是因为这类工具在执行 SQL 文件的时候,总是把每一条SQL以一个事务的方式去执行。所以面对几千万的数据,就需要执行几千万次的 SQL 语句 OBDB2DB则很快,最新的程序版本可以在下面的官网获取: http://www.threeleafsoft.com

2018-11-30

DbLinq-0.20.1(包括MySql.Data.dll)

DbLinq-0.20.1(包括MySql.Data.dll) 有说明文档

2018-11-28

heidisql和libmysql

heidisql 包含 libmysql

2018-11-28

windows下的netcat

windows下的netcat

2018-11-24

sio_socket, websocket的使用与封装

sio_socket, websocket的使用与封装

2018-11-14

自定义的mysql接口类

本类的特点: 1、创建了连接池 2、利用boost的无锁队列,可以高速异步执行sql,不阻塞程序 3、可以根据字段名获得结果

2018-11-12

通用makefile

整个工程,通用makefile,可以编译动态库,安装动态库

2018-10-31

STL中文手册 doc文档

stl中文手册 doc文档哦 stl中文手册 doc文档哦 stl中文手册 doc文档哦 stl中文手册 doc文档哦

2018-08-01

source insight 3.5

source insight 3.5 包括破解 汉化 乱码解决 和一些配置 里面有说明的 source insight 3.5 包括破解 汉化 乱码解决 和一些配置 里面有说明的 source insight 3.5 包括破解 汉化 乱码解决 和一些配置 里面有说明的

2018-08-01

hibernate3.2_中文参考文档.pdf

hibernate3.2_中文参考文档.pdf

2012-05-01

Hibernate3.2API.chm

Hibernate3.2API.chm

2012-05-01

Javascript教程--从入门到精通【完整版】.doc

Javascript教程--从入门到精通【完整版】.doc

2012-04-19

韩顺平讲课笔记包.zip

韩顺平讲课笔记包.zip

2012-04-19

美河提供.Java.Web应用开发.J2EE和Tomcat第2版.pdf

美河提供.Java.Web应用开发.J2EE和Tomcat第2版.pdf

2012-04-19

JDK1.4.2 Document.chm

JDK1.4.2 Document.chm

2012-04-19

J2EE(架构师手册).chm

J2EE(架构师手册).chm

2012-04-19

[api帮助文档].J2EE_API.chm

[api帮助文档].J2EE_API.chm

2012-04-19

VC 托盘程序代码

VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码 VC 托盘程序代码

2011-10-29

VC编程图标大全

VC编程图标大全 VC编程图标大全 VC编程图标大全 VC编程图标大全 VC编程图标大全 VC编程图标大全 VC编程图标大全 VC编程图标大全

2011-10-29

CSerialPort类

CSerialPort类 串口通信 VC++ CSerialPort类 串口通信 VC++ CSerialPort类 串口通信 VC++ CSerialPort类 串口通信 VC++ CSerialPort类 串口通信 VC++ CSerialPort类 串口通信 VC++ CSerialPort类 串口通信 VC++

2011-10-21

LINQ中文教程.doc

LINQ中文教程.docLINQ中文教程.docLINQ中文教程.docLINQ中文教程.docLINQ中文教程.docLINQ中文教程.doc

2011-08-06

SQL语句教程.doc

SQL语句教程.doc SQL语句教程.doc SQL语句教程.docSQL语句教程.doc SQL语句教程.doc SQL语句教程.doc SQL语句教程.doc

2011-08-06

C#网络应用编程基础_Word

C#网络应用编程基础_Word doc C#网络应用编程基础_Word doc C#网络应用编程基础_Word doc C#网络应用编程基础_Word doc C#网络应用编程基础_Word doc C#网络应用编程基础_Word doc

2011-07-19

VC 数据库编程三部教学(源代码)

VC 数据库编程三部教学(源代码) VC 数据库编程三部教学(源代码) VC 数据库编程三部教学(源代码) VC 数据库编程三部教学(源代码) VC 数据库编程三部教学(源代码) VC 数据库编程三部教学(源代码)

2011-07-19

VC数据库编程三部教学_word

VC数据库编程三部教学_word doc VC数据库编程三部教学_word doc VC数据库编程三部教学_word docVC数据库编程三部教学_word doc

2011-07-18

MFC深入浅出_李进久.chm

MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm MFC深入浅出_李进久.chm

2011-06-05

用GNU工具开发基于ARM的嵌入式系统.doc

用GNU工具开发基于ARM的嵌入式系统.doc 用GNU工具开发基于ARM的嵌入式系统.doc 用GNU工具开发基于ARM的嵌入式系统.doc 用GNU工具开发基于ARM的嵌入式系统.doc

2011-01-14

Matlab函数.chm

Matlab函数.chm Matlab函数.chm Matlab函数.chm Matlab函数.chm Matlab函数.chm Matlab函数.chm Matlab函数.chm

2010-12-18

空空如也

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

TA关注的人

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