自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 C++制作动态链接库dll

花了点时间从零开始自学了VS2010环境下制作动态链接库,初步掌握了生成动态链接库的步骤,用自己写的读GLONASS文件的类做了实验,使用动态链接库调用了自己写的函数,并成功读取文件。    整理步骤如下:1、创建win 32的动态链接库项目: 2、项目编辑成功后,自动创建以下几个文件:3、把需要编译的代码加入到工程项目中,在我做的试验中,需

2013-04-22 20:28:52 746

转载 文档视图框架简介

文档是程序的数据结构,CDocument的派生类对象。它负责程序数据的组织和维护,提供给程序的视图显示的数据。视图是程序的面,CView的派生类对象。它负责程序的面向客户的数据显示,并接受客户的请求,操作文档中的数据。每个View都有与之唯一关联的Document。在CView的派生类中的OnDraw函数中,通过GetDocument()返回与之关联的Document指针:pDoc

2013-04-22 20:17:04 716

转载 三种DLL(Win32DLL,MFC常规DLL和MFC拓展DLL)的简单学习总结

学习了三种动态链接库的基本知识,分别是Win32DLL,MFC常规DLL和MFC拓展DLL。    Win32DLL使用的是Win32的API实现的,只能导出函数,能被各种应用程序调用,适用范围最广。    MFC常规DLL是适用MFC创建的,就像MFC程序跟Win32程序的关系一样,MFC常规DLL和Win32DLL的关系也是如此。它使用MFC的机制,只能导出标准C函数。如此,它

2013-04-22 20:08:15 1277

转载 VS2010 C++创建、调用DLL图解

以前做Java,这一段在捣鼓一个C++的项目,需要调用其他项目组做的DLL文件,现将创建和调用DLL的方法和步骤记录如下。   一、创建DLL        1、新建项目: Visual C++ -> Win32项目,名称:CnBlogsDLL点击完成,进入下一步。注意不要点完了按钮,点击下一步。选中DLL单选框,然后点击完成。这样DLL项目的创建工作就基本结束

2013-04-22 19:56:58 783

转载 腾讯2012实习生笔试题2+答案解析

1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3                 B、4                  C、5                       D、6 2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()int a1=x+y-z; int b1=x*y/z;int a2=x-z+y; int b2=x/

2013-04-16 22:24:25 713

转载 基于MFC的大型数据文件处理方法

在Visual C++中,MFC(微软基础类库)提供了CFile和CStdioFile两个类来进行程序中的文件输入输出操作。Cfile类提供了基于二进制流的文件操作,功能类似于C语言中的fread()和fwrite()函数。CStdioFile提供了基于字符串流的文件操作,功能类似于C语言中的fgets()和fputs()函数。但是,使用这两个类进行文件操作时,对于一次文件读写的数据量的大小必

2013-04-15 19:47:02 1084

转载 MFC文件操作大全

1.创建文件夹 CreateDirectory(%%1,NULL); 2.创建文件 CFile file;  file.Open(%%1,CFile::modeCreate|CFile::modeWrite);  3.删除文件 DeleteFile(%%1);  4.删除文件夹 RemoveDirectory(%%1);  5.删除一个目录下所有的文件夹 C

2013-04-15 18:00:17 1378

转载 VC中用内存映射文件处理大文件

引言  文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然

2013-04-15 15:43:05 699

转载 vc文件操作,内存映射

各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。   1.文件的查找   当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中

2013-04-15 15:39:38 1102

转载 懒人的方法处理: 从不是创建控件XXX的线程访问的异常

最近在用VS2005来写一个Socket的多线程服务程序! 用户连接以后,需要把用户的IP和用户ID记录到一个ListBox控件去!我的做法是在监听的线程里,判断如果有有效的连接,就把这个用户信息加到ListBox控件! 开始一有用户连接,就报告错误: 从不是创建控件XXX的线程访问的异常.         看了不少文章,不少介绍用委托方式解决的,用控件的invoke方法调用控件方

2013-04-15 11:29:15 752

转载 VC中使用Socket网络文件传输结构

1.SOCKET_STREAM_FILE_INFO格式:    typedef struct _SOCKET_STREAM_FILE_INFO {     TCHAR szFileTitle[128]; //文件的标题名   DWORD dwFileAttributes; //文件的属性   FILETIME ftCreationTime; //文件的创建时间   FI

2013-04-15 11:21:42 1056

转载 用于生成命令和属性的宏

可以在项目的“属性页”对话框中任何接受字符串的位置使用这些宏。 这些宏不区分大小写。若要显示当前可用宏,请在某个属性名称的右侧列中单击下拉箭头。 如果“编辑”可用,请单击此项,然后在编辑对话框中单击“宏”。 有关更多信息,请参见属性页 (C++) 的Specifying User-Defined Values一节。标记为“已否决”的宏不再使用,或已由等效的项元数据宏(%(名称))所替代

2013-04-15 11:01:18 644

转载 为什么析构函数常声明为虚函数

昨天看了火狐的源码,看到里面很多,应该说几乎所有的析构函数都申明为虚函数,一时想不起来为啥,就上网查了一下,才知道这样做的作用是:       当你动态申请一个对象时,并且把这个对象的指针赋值给基类,这时当你用这个基类指针释放内存时,就有用了,因为这样可以用多态性原理调用对象实际的析构函数来析构内存。举例代码如下[cpp] view plaincopyprint?

2013-04-15 10:31:32 653

转载 vs2005中编译包含多个项目的解决方案出现的错误

前几天在编译一个解决方案时出现一大堆的链接错误,错误如下1>正在链接...1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _calloc 已经在 MSVCRTD.lib(MSVC

2013-04-15 10:28:34 827

转载 编译curl静态库的方法

前些日子,项目中要用curllib,所以就下了一个源码包编译,编译过程遇到一些小问题,在这与大家分享一下整个编译和使用这个库的方法: 首先,去http://curl.haxx.se/download.html网站上下个包,因为我是在windows下编译,所以下了个zip包。第二步,当然是解压了,把zip包解开。里面包含了好几个目录,有兴趣可以看看其他目录,我们用的只有两个目录,一是lib目

2013-04-15 10:22:11 1242

转载 使用openssl加密的网络通讯

见:guoduhua.blog.51cto.com

2013-04-14 23:41:50 729

转载 openssh的密钥登录总结

目   录1. 密钥认证登陆 31.1 Linux的密钥登陆过程 32. known_hosts 42.1 密钥扫描 42.2 私钥产生公钥命令 53. 附录 63.1 SSHSecureShellClient密钥登陆 63.2 Putty密钥登陆 01. 密钥认证登陆1.1 Linux的密钥登陆过

2013-04-14 23:33:47 6427

转载 boost高并发网络框架+线程池

boost的官方例子,有单线程的网络框架,httpserver2是线程池的。下面参照网上某人的代码修改了一点(忘了哪位大仙的代码了) 测试工具,适用stressmark,测试效果非常好, 9000个/s   #include stdio.h>#include "AuthenHandle.h"#include "configur

2013-04-14 23:16:55 738

转载 高并发的epoll+线程池,epoll在线程池内

epoll是linux下高并发服务器的完美方案,因为是基于事件触发的,所以比select快的不只是一个数量级。单线程epoll,触发量可达到15000,但是加上业务后,因为大多数业务都与数据库打交道,所以就会存在阻塞的情况,这个时候就必须用多线程来提速。 epoll在线程池内,测试结果2000个/s增加了网络断线后的无效socket检测。 测试工具:stressmark

2013-04-14 23:14:51 960

转载 高并发的epoll+线程池,业务在线程池内

epoll是linux下高并发服务器的完美方案,因为是基于事件触发的,所以比select快的不只是一个数量级。单线程epoll,触发量可达到15000,但是加上业务后,因为大多数业务都与数据库打交道,所以就会存在阻塞的情况,这个时候就必须用多线程来提速。 业务在线程池内,这里要加锁才行。测试结果2300个/s 测试工具:stressmark因为加了适用与ab的代码,所以

2013-04-14 23:13:06 856

转载 高并发的epoll+多线程

epoll是linux下高并发服务器的完美方案,因为是基于事件触发的,所以比select快的不只是一个数量级。单线程epoll,触发量可达到15000,但是加上业务后,因为大多数业务都与数据库打交道,所以就会存在阻塞的情况,这个时候就必须用多线程来提速。 下面是来一个网络连接创建一个线程处理业务,业务处理完,线程销毁。实际测试结果不是很理想,在没有业务的时候的测试结果是20

2013-04-14 23:09:02 1782

转载 推荐一个压力测试工具stressmark

见:guoduhua.blog.51cto.com

2013-04-14 23:04:44 925

转载 C++ socket编程基础(理论篇)

对于SOCKET在这里我不想究其历史,我只想说其时它是一种进程通讯的方式,简言之就是调用这个网络库的一些API函数就能实现分布在不同主机的相关进程之间的数据交换.       SOCKET中首先我们要理解如下几个定义概念:一是IP地址:IP Address我想很容易理解,就是依照TCP/IP协议分配给本地主机的网络地址,就向两个进程要通讯,任一进程要知道通讯对方的位置,位置如何来确定,就用

2013-04-11 18:08:28 552

转载 关于vs2008上的socket链接错误问题

昨天想用socket做一个简单的windows程序, 先拿来了以前在vc6.0上做的一小段代码, 竟然发现在vs2008上不能运行.出现了好多链接错误, 研究了好半天也没有发现是怎么回事.>下来是代码和 错误信息.正在链接...>1>tem.obj : error LNK2019: 无法解析的外部符号 __imp__closesocket@4,该符号在函数 _main 中被引用1>tem.

2013-04-11 17:22:29 844

转载 error LNK2019: 无法解析的外部符号(编程解决方法)(改)

>------ 已启动生成: 项目: server, 配置: Debug Win32 ------1>正在编译...1>server.cpp1>正在链接...1>server.obj : error LNK2019: 无法解析的外部符号 __imp__closesocket@4,该符号在函数 _wmain 中被引用1>server.obj : error LNK2019: 无法

2013-04-11 17:12:34 2861

转载 InstallShield使用实例(改)

1         例子上面介绍了一些InstallShield的知识,下面通过两个例子介绍如何制作安装程序,由于空间小不再采用图形显示,如有需要可留下Email。1.1       Basic MSI Project工程项目这个例子实现MS SQL SERVER数据库、asp.net网站、系统服务、应用程序安装。1. 创建一个新的工程,选择Basic MSI Project工程类

2013-04-10 18:40:25 1013

转载 PowerDesigner 系列 小结

根据原作者的要求,声明出自“David Dai -- Focus on Oracle”花了近一个星期的时间,小研究了一些PowerDesigner,现在可以简单的用用,知道PD 是怎么一回事了。以前和朋友聊起过我从事DBA的经历,是毕业后上来就搞DB了,我和朋友说是运气好,因为正常情况下,应该是工作几年,折腾下开发什么的,然后转DBA,我是走了捷径,但是开发这块就丢下了

2013-04-10 18:08:01 635

转载 探索InstallShield——制作一个完整的应用程序安装实例

大家一定有过这样的经历,每当我们殚精竭虑为用户开发完一个系统之后往往都是派一名技术员到用户那里进行应用软件的安装,数据库的配置,这些看似简单的配置对一般用户来说可不是件容易做的事。这不仅给那些喜欢力求完美的程序设计师带来一点遗憾外,而且也使我们设计出来的软件缺少一种安全可靠感。如果我们在交给用户软件的时候能给他们一个象一些专业软件的安装程序,这不仅给用户留下了一个良好的第一印象,同时也节省了开发维

2013-04-10 16:02:40 1762

转载 InstallShield使用指南

InstallShield是使用非常广泛的一种安装程序制作软件。你可以用它制作出专业级的安装程序。但它的缺点就是使用很烦琐,让初学者望而生畏下面就以InstallShield Professional Standard Edition 6.30 英文版为例,讲解它的使用方法。由于暂时还没有弄到它的东方语言包,所以在安装中可能在显示上会有点问题。大家可以在此处下载InstallShield

2013-04-10 15:13:25 798

转载 C++如何获取当前时间并转换成相应的格式字符串

wchar_t* pNewFolder = new wchar_t[30];  __time64_t long_time;        struct tm newtime;_time64( &long_time ); errno_t err;err = _localtime64_s( &newtime, &long_time ); if (err){    W

2013-04-09 19:36:45 1265

转载 C++ 获取系统时间并且转换成字符串

很多时候为了批量命名文件的方便我们都会选用系统时间作为文件名,下面是使用C++获取系统时间并且将其转换为字符串的代码,极其菜鸟仅供日后查阅方便:int CALLBACK CMainFrame::SnapCallback(HV_SNAP_INFO *pInfo){    CMainFrame *pFrame = (CMainFrame *)(pInfo->pParam);

2013-04-09 19:33:13 3361

转载 获取系统当前时间之方法大集合

//* 方法一 time_t tt = time(NULL);//这句返回的只是一个时间cuo tm* t= localtime(&tt); printf("%d-%02d-%02d %02d:%02d:%02d\n",   t->tm_year + 1900,  t->tm_mon + 1,  t->tm_mday,  t->tm_hour,  t->tm_min

2013-04-09 19:15:52 1131

转载 802.11帧格式

无线局域网(WLAN)技术定义在 IEEE 802.11 规范系列中。目前该系列包含以下四种规范: 802.11、802.11a、802.11b 以及 802.11g。所有这四种协议都采用以太网协议和载波监听多路访问/冲突避免技术(CSMA/CA,替代了 CSMA/CD) 来实现信道共享。802.11 - 应用于无线局域网,使用 2.4 GHz 波段,传输速率为 1 Mbps 或 2 Mb

2013-04-09 18:00:04 1015

转载 802.11帧格式

一、802.11数据帧1、802.11数据帧的一般格式说明:2、数据帧各个字段说明:名称描述长度(字节)帧控制(Frame Control) 2持续时间(Duration ID)用来记载网络分配矢量(Network Allocation Vector,简称NAV)

2013-04-09 17:54:50 900

转载 802.11概述及帧结构分析

AUTHOR:   Jeffrey.zhu目录:1  802.11概述2  拓扑结构及服务类型3  帧格式    3.1 帧格式概述    3.2 MAC Header    3.3 帧类型1 802.11概述       IEEE 802.11 是一个协议簇, 主要包含以下规范:       1 )物理层规范: 802.11b , 802.11a , 80

2013-04-09 17:35:39 858

转载 安装程序 Repack 攻略 之 MSI 篇(IS版)

本文主要讨论使用 InstallShield 进行 MSI 安装包的修改封装,要查看如何使用微软提供的开发工具进行此操作,请查看此贴:【原创】安装程序 Repack 攻略 之 MSI 篇(MS版) 下面是我对 MSI 的基本情况的认识,如果只想了解怎么进行 Repack,也可以跳过这一部分。MSI 概述MSI 最基本的部分是对安装程序的一个描述,

2013-04-09 16:22:59 1059

转载 安装程序 Repack 攻略 之 MSI 篇(MS版)

本文主要讨论使用微软的开发工具 orca 和 msidb 进行 MSI 安装包的修改封装,要查看如何使用 InstallShield 进行此操作,请查看此贴:【原创】安装程序 Repack 攻略 之 MSI 篇(IS版) 下面是我对 MSI 的基本情况的认识,如果只想了解怎么进行 Repack,也可以跳过这一部分。MSI 概述MSI 最基本的部分

2013-04-09 16:18:38 2154

转载 安装程序 Repack 攻略 之 CAB 篇

某些情况下我们需要对软件的安装程序包进行修改,替换其中的部分文件,也就是所谓 Repack。本文讨论采用.CAB压缩包的安装程序的拆解打包,主要是搜集工具,使用方法除了Install Shield的高版本描述稍多外,其他均为图形界面程序,所以描述相对简略,也没有截图(主要是因为我比较懒*^_^*)。以下内容均系本人日常实践(Repack过的软件有Symantec Ghost 7.5

2013-04-09 15:56:32 5010

转载 Installshield入门指南

1   说明(适用范围)阅读对象:IS的初用者;本指南的校对、补充、修改者。适用版本:IS10~IS11,如果您使用的不是这个版本段的版本,那么还是不要再往下看了。目的    :帮助初用者建立一个简单的安装包,能在建立这个安装包的过程中了解IS的基本情况。强调    :本指南不会对IS中的每一个菜单进行介绍,只对用到的做一个初步讲解2   IS介绍

2013-04-09 14:51:35 1326

转载 瀑布和XP开发过程模型

瀑布与XP应该是当前开发过程的两个典型,他们分别代表了软件过程方法论的两大阵营,并在各自的领域中发挥着对方不可替代的作用。关于这两者的分析、讨论甚至争论,从它们被提出那天起就不绝于耳,作为初入门的开发者,也一时无法窥其真身,因此以下所述权当笔记,以一家之见总结一下。瀑布过程模型    瀑布过程模型描述了典型的瀑布式开发过程,以及各个阶段间的关系。    根据传统瀑布

2013-04-09 09:58:22 1288

空空如也

空空如也

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

TA关注的人

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