自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (2)
  • 收藏
  • 关注

原创 cpphttplib库在vs2015中编译报错的解决方案

为了实现客户端通过http传输文件和json字符,使用了轻量级的c++ http库。但在vs2015中编译的时候,编译时报错:2>E:\OpenLib\Http\cpp-httplib\httplib.h(3109): error C2888: “bool MultipartFormDataParser::parse(const char *,std::size_t,const T &,const U &)”: 不能在命名空间“detail”内定义符号你根据提示查找错误类型,发

2020-11-02 18:15:13 1609 3

翻译 Libevent开源库之evbuffer

前言    可以说对于任何网络库(模块)而言,一个缓冲模块都是必不可少的。缓冲模块主要用于缓冲从网络接收到的数据,以及用户提交的数据(用于发送)。很多时候,我们还需要将网络模块层(非TCP层)的这些缓冲数据拷贝到用户层,而这些内存拷贝都会消耗时间。    在这里,我简要分析下libevent的相关代码(event.h和buffer.c)。结构    关于libevent的缓

2016-05-05 15:00:50 538

原创 MySQL5.7更改端口号

1、打开cmd; 2、输入命令:net stop +MySQL的服务名,停止MySQL服务,如果未启动MySQL服务则可跳过该步骤; 3、输入命令:mysqld --remove卸载MySQL服务,如果未安装MySQL服务则可跳过该步骤; 4、在MySQL的安装目录下用记事本打开my-default.ini文件,取消[mysqld]中的port注释,并将port设置成您

2016-04-25 13:26:22 13455 2

原创 Window 7-32下MySQL-5.7.11的安装

第一步:从http://www.mysql.com官网下载mysql-5.7.11-win32.zip包,解压到不包含中文的目录下,本演示解压到D:\Program Files\mysql-5.7.11-win32目录下,初始文件结构如图:<img alt="计算机生成了可选文字: 臼队。。,勺.口{回。O,!画“、oftw。re文件(日编辑(E)查看(V)组织,包含到库

2016-04-01 17:25:25 1045 1

转载 在GIT中增加忽略文件和文件夹

在GIT 中增加忽略文件夹与文件  1,在工作目录点右建选择2,输入touch .gitignore    在工作目录就生成了一个“.gitignore”文件。3,然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。    内容如下:.DS_Store /_ReSharper.*

2015-11-19 14:19:05 2226

原创 驱动程序打包

对于提供inf文件的驱动,在cmd中可以输入一下格式的命令:RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection 例如:Rundll32.exe setupapi.dll,InstallHinfSection usb2066.Dev.NT 132 D:\Driver\usb2066.inf通过Rundll32 调用setupapi 的 insta

2015-11-04 21:21:30 1366

原创 visual studio 2010编译漏洞

漏洞描述:每次编译都要重新编译部分文件,或者每次编译都需要重新编译所有文件。原因及解决方案:1.时间问题所创建的文件的时间比如是:2011-09-22 09:03:22,那么你的系统时间之前被你改动过当前时间是:2011-08-22 09:03:22。这下好了,vs每次编译的时候都会检查每个文件的最后修改日期,发现是上一个编译时间之后的,都会重新编译。所以在这一个月内,每次都会

2015-10-23 15:02:01 542

转载 矩阵运算库Armadillo,Eigen,MATCOM在windows+vs2010环境下的安装和测评

作为一个遥感图像处理方向研究生,笔者在编程的时候免不得要和矩阵运算打交道,各种矩阵乘法协方差特征值。虽然在自己的研究实验中更喜欢用MATLAB来作为工具,但是在完成工程项目编软件的时候必须要用C++来作为编程语言。在C++中并不能像MATLAB一样,非常方便的进行矩阵运算。当然也可以自己编一些列矩阵运算的函数(笔者以前就干过这事),不过这个运算效率实在无法满足要求。目前国际上提供了很多矩阵运算

2015-08-20 20:02:14 1177

转载 c++实现aes加密算法,对字符串进行加密

其主要功能进行实现unsigned char类型数据到char类型转化,将unsigned char结果与16进制字符串串之间的转化。代码如下: #ifndef AES_H#define AES_H#include string.h>class AES{public:  AES(unsigned char* key);  virtua

2015-04-10 14:42:58 3688

原创 VC++2010在CMFCToolBar工具栏中加入组合框

如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的:To add a combo box button to a toolbar, follow these steps:1. Reserve a dummy resource ID for the button in the parent toolbar resource.2. Constru

2015-03-11 10:24:09 564

转载 为对话框设计美观的工具栏 (Add toolbar for CDialog)

本文介绍,在CDialog下工具栏的实现和优化 1. 为CDialog添加工具栏 2. 使toolbar以多行显示 3. 为toolbar添加提示信息(TipText) 4. VC6下显示包含多彩色图片的工具栏   一. 为CDialog添加工具栏 首先需要建立相应的TOOLBAR资源 将工具栏按钮摆放好,将相应的提示信息(TipText)写入,最好也将相应

2015-03-10 17:29:29 729

原创 VS2010调试时出现“0x7556d36f 处最可能的异常: 0x000006BA: RPC 服务器不可用”的解决方法

现象:1、在使用Visual Studio 2010 c++调试程序时,无法使用文件对话框打开文件,只要执行打开文件对话框,就报“0x7556d36f 处最可能的异常: 0x000006BA: RPC 服务器不可用”的错误。      2、不使用调试模式的时候,不会报这样的错误;解决方法:之前由于调试需要将调试菜单中的异常都打上勾,将勾都去掉,问题解决

2015-03-04 15:39:08 11712 2

原创 介绍下加壳、脱壳以及如何病毒免杀技术与原理

介绍下加壳、脱壳以及如何病毒免杀技术与原理在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的

2015-02-13 22:01:29 3349

原创 优秀程序员必备的23条好习惯

这一点错,那一点错,错到一起就是大错。——《我是特种兵之利刃出鞘》编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养。一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了“十大最痛苦工作”排行榜,其中IT主管成了最让人痛苦的职业。程序员如何才能让自己的“痛苦”的职业不那么痛苦呢?世间少有天才,所谓

2015-01-18 22:07:03 620

原创 批处理中使用系统路径的命令

系统路径是指一些以%SystemRoot%(以“%名称%”表示)开头的路径。它的作用是告诉系统,我要定位的文件(夹)在系统分区Windows目录下 比如你要进入Windows下的system32文件夹,只而在IE浏览器的地址栏,或“运行”对话框中输入“%SystemRoot%\system32”,回车即可,而不必注明系统分区是C盘还是D盘,因为系统路径会自动定位查找到系统分区的

2014-12-14 20:01:54 2667

转载 WINDOS 命令大全

Dos下各种常见命令索引dirattribcdcopyxcopydelundeletedeltreedos=highdoskeyemm386.exefcformatunformatinterlnkintersvrmemmakermemitem等mscdexmsdpromptramdrivesub

2014-12-14 19:56:19 501

原创 Android开发路线

今天是MDCC2014移动开发者大会闭幕的日子,

2014-11-02 22:42:55 506

原创 在公司技术方面何去何从?

在IT这个行业一晃已经干了

2014-11-01 20:43:46 472

原创 关于pragma pack的用法C++中的内存对齐问题

首先请大家先看下面代码:typedef struct{UINT32 NumElements;union{UINT32 ObjectHandle;}Entry;}STR_ARRAY, *PSTR_ARRAY;还有这两句#pragma pack(push, 1)#pragma pack(pop)#pragma pack( [ n ] )该指令指定结构和联

2014-06-16 15:37:10 537

转载 VC++得到任务栏的高度和位置的方法

1.判断位置SystemParametersInfo(SPI_GETWORKAREA,   0,   &rt,   0)   //任务栏在下面的高度   int   y   =   ::GetSystemMetrics(SM_CYSCREEN)-rt.Height();   上面   int   y   =   rt.top;   左   int   y   =   r

2014-06-05 11:37:18 3824

原创 COM组件的使用注意事项

在线程中使用CreateDispatch()函数会无法

2014-05-27 17:09:18 520

原创 模版函数指针,C++委托的实现

今天写引擎的时候,很想加入一些回调函数,以前一直没时间整理这块,这次一定要下决心好好整整代码,纯粹用多态,很多类非要加个帽子,类之间的关系也显的很单一,有的情况需要用到委托的回调机制,这是个很好的东西,在C#里面是原生支持的,C++里面本来函数指针是个不错的选择,可到了对象里面,成员函数指针还有那么好用吗?这原本是另C++程序员非常失望和无赖的,难道一说到成员函数指针就真的那么不好用,甚至要沦为被

2014-05-14 07:29:36 477

转载 C/C++定义全局变量/常量几种方法的区别

在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块):     在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能非常

2014-05-11 15:28:12 421

转载 String,CString,TCHAR*,char*之间区别和联系

最近老用到Cstring, TCHAR*, char*的转换.  找到一篇写得蛮详细的. 引用过来, 方便自己以后查阅.  char是类型TCHAR也是!不过他可以通过是否定义了UNICODE宏来判断到底是char还是w_char;  TCHAR是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用同样的代码,不需要使用繁琐的宏定义来包含你的代码,而char代

2014-05-09 15:36:24 826

原创 文档/视图结构中的各个部分的关系

#define DECLARE_DYNCREATE(class_name) \DECLARE_DYNAMIC(class_name) \static CObject* PASCAL CreateObject(); 文档/视图结构是MFC中最有特色而又有难度的部分,在这当中涉及了应用、文档模板、文档、视图、MDI框架窗口、MDI子窗口等不同的对象,如果不了解这些部分之间如何关联的话,就可

2014-04-08 15:28:20 883

原创 MFC 为同一个文档创建不同视图

// CMainFrame message handlers////MDI架构下,为一个document创建多个视图的方法,既是同一个document的不同view的表现形式//int CMainFrame::CreateNewView(UINT nIDResource,CRuntimeClass* pFrameClass,CRuntimeClass* pViewClass,CDo

2014-04-08 11:40:32 1252

原创 VC MFC SDI/MDI框架各部分指针获取方式

VC MFC SDI/MDI框架各部分指针获取方式VC MFC SDI/MDI框架各部分指针获取方式来源: 编辑:中国人才库 更新日期:2008-6-14 浏览:531前人在CSDN总结的,曾经帮助过我,整理总结一下,希望也能帮助一下别人。   获得CWinApp 获得CMainFrame 获得CChildFram

2014-04-08 10:28:09 521

转载 VC单文档实现多视图的方法

多视图是VC开发中经常要用到的技术之一,一般地实现单文档多视图有两种方式1)通过视图分割的技术(使用CSplitterWnd实现),将窗口分割为多个部分,每个部分显示各自显示不同的视图,这种技术实现起来比较简单,并多视图是VC开发中经常要用到的技术之一,一般地实现单文档多视图有两种方式1)通过视图分割的技术(使用CSplitterWnd实现),将窗口分割为多个部分,每个部分显示各自显示不同的视

2014-04-03 17:23:40 505

原创 C++ 在类中定义枚举类型的问题

最近在遇到了定义枚举类型的问题,编译的时候可以通过,但是结果不是想要的结果,代码如下所示;class A{public: A(); ~A();public: static enum em { TYPE1, TYPE2 } m_emType;public: void SetType(enum emType) { m_emType = emType; };

2014-03-06 10:04:13 5567 1

原创 VC++实现位图显示透明效果

我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本文介绍了透明位图的制作知识,并将透明位图在一个对话框中显示了出来。本文所使用的原始位图及程序编译运行后的界面效果如下图所示:  图一、原始位图图二、对话框界面上透明显示位图  一、实现方法  绘制"

2014-02-12 14:25:47 1056

原创 C++中百分号的表示

printf系列格式化函数的第一个参数中,百分号必须用“%%”表示,因为单个百分号已经有了特殊含义;而在普通字符串中,百分号直接用“%”表示即可,“\%”虽然语法中没有提及,但在VC环境下也没有问题(其它编译器没有测试过),“%%”表示两个百分号

2014-02-10 16:01:06 20119

原创 CMFCBUTTON使用过程中发生内存泄露

具体的发现过程是:打开vs2010,新建一个对话框工程,什么都不做,运行,推出的时候看不到内存泄露,但是当你拖一个mfc button到对话框上时,运行程序,推出的时候会看到发生了内存泄露。现在还不知道什么原因。具体的原因呢是这样的,首先我们应该从VS2010提供的一些新类,比如CMFCBUTTON的创建过程着手分析。在CDialog::OnInitDialog()的执行过程中,会

2014-01-16 17:13:00 1048

原创 ULONGLONG与CString, double之间的转换

1、ULONGLONG转CStringCString.Format(_T("%I64d"), );另外,C函数库里有_ui64toa和_ui64tow函数可以把int64转换成C字符串,到C字符串了,你就可以直接赋值给CString了2、CString转ULONGLONG__int64 iadf;_stscanf(mycstring.GetString(), _T("%I64

2014-01-15 17:45:21 3950

转载 CListCtrl使用技巧

以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料      直观的理解:windo

2014-01-15 11:34:33 477

原创 VC中实现按钮提示,使用CToolTipCtrl实现

1. 在这个对话框的定义部分添加黑体部分:   class CMyDlg : public CDialog { …… CToolTipCtrl m_tt;    //添加+++  …… }     2.      在这个对话框的OnInitDialog()函数里,添加黑体部分: BOOL CMyDlg::OnInitDialog() { ……     EnableT

2014-01-15 11:10:43 808

原创 labview对dll的调用

LabVIEW调用DLL文件  LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用。比如,在实际的工程项目中,用户可以用C++语言实现软件的运算部分,并把这些功能构建在DLL文件中,然后再使用 LabVIEW编写程序的界面部分,并通过调用编写好的DLL来调用运算部分的功能。  LabVIEW 中是通过Call Library Function Node(CLN)节点来完成DL

2014-01-12 11:58:15 13062

原创 vc的dll中实现回调函数

在很多编程过程中,我们遇到回调函数的情况很多,无论是一个应用程序内部,还是应用程序与动态库之间,都会经常涉及到回调函数的编程.那么什么是回调函数呢,它的实现机制是什么呢?下面我就简单在这里介绍一下       使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你

2014-01-11 13:45:39 4527

原创 在vector中删除一个元素

例如:class classA{public:int e;}vector; class_vector;如果要删除第三个,似乎只能按着下面这个方式进行class_vector.erase(&class_vector[2]);这种方法太麻烦了比如我要删最后一个class_vector.erase(&class_vector[class_vector.size

2013-12-26 16:29:28 4170

原创 VC++封装FFT DLL

学习过较高级别数学(概率统计与随机过程)、信号与线性系统及数字信号处理的读者应该知道,傅立叶变换是一种在信号分析中常用的算法,用于时域和频域的相互转换。FFT变换算法通用而有共性,我们适宜把它集成在一个DLL中。 /* 函数名称:FFT()* 参数:* complex * TD - 指向时域数组的指针* complex * FD - 指向频域数组的指针* r -2的幂数,即

2013-12-20 13:53:34 880

原创 “error LNK1169: 找到一个或多个多重定义的符号”的解决方法

问题描述如下:有 三个源文件,A.h、B.cpp、C.cpp。A.h是头文件,其中声明了三个变量a1、a2、 a3。B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。在编译时,编译能够通过,但链接时出了问题,出现”error   LNK1169:   找到一个或多个多重定义的符号“的错误。经过分析,确定了这是由于两

2013-12-12 14:44:16 6934

DLL中实现回调函数和测试程序

在DLL中实现回调函数,在回调函数中显示Dll线程循环运行的次数,测试程序使用Win32控制台,在测试程序中一定要加暂停语句,不然无法看到回调函数的效果。

2014-01-11

空空如也

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

TA关注的人

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