- 博客(47)
- 资源 (7)
- 收藏
- 关注
原创 编译BCGControlBarPro
第1步.直接在“解决方案资源管理器”-“资源文件”中点右键,“添加”-“现有项”,把C:/ProgramFiles/BCGSoft/BCGControlBarPro/BCGCBPro/Styles中所有扩展名为.rc 的资源包括进来即可。第2步.打开项目的rc文件,在最后面有一段#include,#if !defined(AFX_RESOURCE_DLL) || defined(AFX_T
2013-07-05 09:24:49 1462
转载 利用负载均衡技术增加网络带宽及服务器的数据处理能力
摘要:信息系统的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担,必须采用多台服务器协同工作,提高计算机系统的处理能力和计算强度,以满足当前业务量的需求。而如何在完成同样功能的多个网络设备之间实现合理的业务量分配,使之不会出现一台设备过忙、而其他的设备却没有充分发挥处理能力的情况。要解决这一问题,可以采用负载均衡的方法。
2013-06-26 15:22:33 5769
转载 socket模型
套接字是通信的基础,是支持网络协议数据通信的基本接口。Winsocket 提供了一些有趣的I/O模型,有助于应用程序通过一种“异步”方式,一次对一个或者多个套接字上进行的通信加以管理。这些模型包括select(选择)、WSAAsynSelect(异步选择)、WSAEventSelect(事件选择)、Overlapped I/O(重叠 I/O)以及Completion port(完成端口)。①
2013-06-26 14:35:48 719
原创 VS2010 Boost编译安装
VS2010 Boost编译安装 1.下载安装包boost 1_47_0 http://sourceforge.net/projects/boost/files/boost/1.47.0/ 选择下载 windows 或 unix 版本2.解压缩到E:\v3\Development\Usermode\Src\CommonCode\boost_1_47_0\目录下3.设
2012-12-18 10:19:42 302
转载 更换程序图标源码
#pragma comment(lib,"kernel32.lib")#pragma comment(linker, "/OPT:NOWIN98")#pragma comment(linker, "/subsystem:windows")#include #include #pragma comment(lib,"MSVCRT.lib")#pragma comment(li
2012-08-07 13:22:15 498
转载 MFC及命令行
在MFC程序中,可以用以下几种方法来获取命令行参数。为方便说明,我们假设执行了命令:C:/test/app.exe -1 -2方法一 ::GetCommandLine ();将获取到 "C:/test/app.exe" -1 -2方法二for (int i=0;i__argc ;i++){__argv [i];将依次得到C:/test/app.exe
2012-07-20 14:27:48 620
原创 在InitDialog中设置焦点不起作用 SETFOCUS
一、在WM_SHOWWINDOW中试试 void CTestdlg3Dlg::OnShowWindow(BOOL bShow, UINT nStatus) { CDialog::OnShowWindow(bShow, nStatus); CEdit* pedit=(CEdit*)GetDlgItem(IDC_EDIT); pedit-> SetF
2012-07-20 10:54:24 815
转载 VC实现端口复用木马
其实想实现端口利用很简单,先创建一个Socket之后,用Setsockopt设置Socket的SO_REUSEADDR属性就可以了。当然要防止别人复用你的端口也很容易,用SetEXCLUSIVEADDRUSE就可以独占端口地址了。 我在开始编写前下载一个wxhshell,它是加上商品复用功能的Winshell。我自己试一了一下它的功能,发现它在WinXp+SP2+IIS5.1 下可
2012-06-19 10:54:27 1891
转载 十招教你从程序员转向企业家
很多参加BarCamp的人都在痛苦的从程序员转型为创业者。虽然我从来都不是疯狂的码农(把自己关在地下室里一周,折腾出十万行代码这样),但我也曾经做过这样的转型。在创办HelpSpot的这些年中,我确实也总结出了一些经验,以及人们会什么会转型失败。1. 代码只占生意的5%我见到的最多、最严重的问题就是开发者被代码绑架,花费数不清的时间让一个功能变得完美,或者炫耀最新的技术。是的,你的代码
2012-06-01 11:15:29 362
转载 MSVCRTD.lib重复定义问题
解决办法是在属性->代码生成->运行时库 中把 多线程调试MDd改成MTd。这么几个与标准程序库有关的选项: /ML、/MLd、/MT、/MTd、/MD、/MDd。这些选项告诉编译器应用程序想使用什么版本的C标准程序库。/ML(缺省选项)对应单线程静态版的标准程序库(libc.lib);/MT对应多线程静态版标准库(libcmt.lib),此时编译器会自动定义_MT宏;/MD对应多线程DLL版
2012-05-23 15:06:09 375
转载 Windows内存管理笔记
《Windows核心编程 - 内存管理》第13章 Windows内存体系结构1.32位系统有4G的虚拟地址空间,我们需要把物理存储器映射到相应的地址空间,才能访问。2.进程的地址空间: a.空指针赋值分区,只是为了捕获对空指针的赋值访问(x86 32位 0x00000000 - 0x0000FFFF 其实空指针返回这个区域的任何一个值都可以而不仅仅是NUL
2012-04-16 11:22:58 938
转载 了解Windows内存管理
原理篇如果你已经使用Windows有一段时间,你会对虚拟内存和页面文件非常熟悉。在过去,为了在我们内存稀缺的系统中让页面文件尽可能地高效,我们都花费大量的时间来改动虚拟内存设置。后来,RAM的价格降到了更能让人承受的范围,取代了改动虚拟内存,我可以通过增加更多的RAM来提高系统性能。尽管操作系统仍使用虚拟内存,但是在系统中拥有更多的RAM会减少操作系统对虚拟内存的依赖。
2012-04-12 16:35:17 512
转载 Windows内存原理与内存管理
WIndows为每个进程分配了4GB的虚拟地址空间,让每个进程都认为自己拥有4GB的内存空间,4GB怎么来的? 32位 CPU可以取地址的空间为2的32次方,就是4GB(正如16位CPU有20根寻址线所有拥有2的20次方的寻址空间一样)当我们在Windows中双击一个应用程序图标后,系统为该应用程序创建一个进程,Windows使得每个进程都拥有2GB的地址空间,这2GB地址空间用于程序存放
2012-04-12 16:18:39 355
转载 C/C++内存对齐
一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数
2012-04-11 17:06:56 252
转载 有关volatile的说明
以下代码是以linux下的,linux下的线程的实现是一个轻量级的进程。在计算机操作系统中,轻量级进程(LWP)是一种实现多任务的方法。与普通进程相比,LWP与其他进程共享所有(或大部分)它的逻辑地址空间和系统资源;与线程相比,LWP有它自己的进程标识符,优先级,状态,以及栈和局部存储区,并和其他进程有着父子关系;这是和类Unix操作系统的系统调用vfork()生成的进程一样的。另外,线程既可
2012-04-10 19:48:06 399
转载 多线程程序中操作的原子性
0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?1. 多线程环境下对变量的读写操作是否是原子的?我们先从一道很
2012-04-10 17:25:01 332
转载 STL函数对象及函数对象适配器
一函数对象FunctorSTL中提供了一元和二元函数的两种Functor,通过unary_function和binary_function提供了这两种不同参数数量的 Functor的基本结构,在这两个类型中,分别内嵌定义一元和二元函数操作在模版推演的时候需要用到的typedef. //一元函数的定义为templatestruct unary_function { typed
2012-04-10 16:38:12 385
转载 企业管理软件中的组织模型和权限模型
1. 概述组织模型是管理软件中系统建模的一个重要组成部分(企业模型一般包括资源模型、组织模型、信息模型、功能模型、流程模型),权限模型是管理软件系统的安全体系的核心,这两个模型本身既有很强的独立性,在具体应用中又有关联。而且这两个模型都比较容易通用化,这一点对我们的管理软件平台尤为重要。本文分别描述讨论了MIS系统的通用组织模型和权限模型,以及对两种模型的整合,最终结果可作为我们的MIS系统或
2012-04-09 11:30:25 2662 1
转载 三种权限设计方案的归纳和比较
权限设计是很多系统重要的组成部分,主要用于控制功能和流程,本文将几种常见的权限设计方案(权限系统的名都是自己起的)的基本设计写出来,其中不恰当处还请大家指出,我们来讨论一下.1.等级权限系统 这种权限系统在论坛中很常见,在这种系统中,权限级别如同官阶从低到高排列,每个用户拥有一个权限,其中设定了这个用户的权限等级,在用户需要执行操作前先查看其权限等级是否大于执行操作所需要的权限等级,
2012-04-09 11:18:35 443
转载 模块分解的规则
模块分解的规则1.模块独立性 所谓两个模块彼此完全独立,是指其中任一模块在运行时,与另一个模块存在无关。但是,因为各模块隶属于一个系统,所以独立性只是一个相对的概念。具有独立功能而且和其他模块之间相互作用少的模块,称为独立性高的模块。 保证模块独立性高是设计一个系统的关键,它具有以下优点: (1) 系统容易开发。系统开发往往由若干人分工合作完成,由于模块之间联系少,接口(模块与
2012-04-09 11:16:39 2588 1
转载 关于对公钥、私钥的理解
安全中的非对称密钥主要有两个用途: 1.加密防止监听攻击:数据发送者的使用数据接收者的公钥对发送给目的的数据进行加密,接收者使用自己的私钥进行解密,由于私钥永远不会在对等体之间共享,保证了只有目的端能够对源发送的加密数据进行解密;2.设备之间的验证:源使用自己的私钥对自己的身份信息进行加密生成签名,把为加密的身份信息和签名一同发送给目的,目的使用源的公钥对预源生成的签名进行解密,然后将
2012-04-09 11:11:11 449
转载 PKI技术及应用开发指南
1 前言随着网络技术和信息技术的发展,电子商务已逐步被人们所接受,并在得到不断普及。但由于各种原因,国内电子商务的安全性仍不能得到有效的保障。在常规业务中,交易双方现场交易,可以确认购买双方的身份。利用商场开具的发票和客户现场支付商品费用,无须担心发生纠纷和无凭证可依。但通过网上进行电子商务交易时,由于交易双方并不现场交易,因此,无法确认双方的合法身份,同时交易信息是交易双方的商业秘密,在网上
2012-04-09 11:10:35 726
转载 SELECT高级查询
1.SELECT高级查询前面已经介绍了SELECT语句的用法,本节主要介绍数据汇总、联接查询、子查询和关键词UNION的使用。 (1)数据汇总为决策支持系统生成聚合事务的汇总报表是一项复杂并且相当消耗资源的工作。SQL Server 2000提供两个灵活且强大的组件,用于生成SQL Server 2000 Analysis Services。这些组件是程序员在执行SQL Server数
2012-04-09 10:56:07 711
转载 T-SQL象数组一样处理字符串、分割字符串
end调用示例:select dbo.Get_StrArrayLength('78,1,2,3',',')返回值:4二、按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便CREATE function Get_StrArrayStrOfIndex(@str varchar(1024), --要分割的字符串@split varchar(10), --
2012-04-09 10:55:28 229
转载 触发器
先简单说说触发器的机制。每个触发器都会创建两个逻辑专用表:inserted表和deleted表,其结构跟被触发表的结构完全相同,执行后,这两个表都会被删除。执行insert插入语句时,inserted表存放要插入的所有行,执行delete删除操作时,deleted表存放要删除的所有行,执行update更新操作相当于先执行一个delete操作再执行有个insert操作,原记录存放于deleted表新
2012-04-09 10:51:55 245
转载 STL容器删除元素的陷阱
今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector mFriendList;...std::vector::iterator iter = mFriendList.begin();for ( ; iter != mFriendList.end
2012-04-09 10:49:33 357
转载 vector作为参数传递到dll问题
template 是个好东西啊 . 经典的 stl . 强悍的boost. 还有我自己写的那个 ------- 该死的 ------- 资源管理器.dynamic link也是个好东西啊. 在windows下叫dll, 在unix下叫so (share object) . 它能省下很多重新发布软件带来的麻烦.但是当template 遭遇到dynamic link 时候, 很多时候却是一场恶
2012-04-09 10:45:19 424
转载 STL容器效率比较
1.vector(动态数组)vector支持随机存取。vector在末端增加或删除元素时性能相当好,在前端或中部做以上操作则效率比较低,因为操作点以后的所有元素都需要移动到另外一个位置。因此,当要插入多个元素时,调用一次比调用多次效率快。vector高效的原因在于配置了比其所容纳的元素更多的内存。内存重新配置会花很多时间。请关注capacity()成员函数。2.deques(动
2012-04-09 10:43:22 540
转载 STL简单学习
STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有
2012-04-09 10:38:45 283
转载 C++面试题库
1.求下面函数的返回值( 微软)int func(x) { int countx =0;while(x) { countx ++; x = x&(x-1);} return countx;} 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用
2012-03-31 10:48:17 967
转载 关于 ( ++a )和( a++ )
/* 这个例子主要是考虑到a++和++a的存储问题; 我们知道,对于a++是先将a给表达式再++; 那么这就是需要一个tmp空间来保存++之前 的a!!!但是对于++a是不需要的,因为先 执行++,那么就是直接改a空间内容就好了! 那么我们下面的问题就是这样! */ #include int
2012-03-30 15:46:23 318
转载 CreateFileMapping()的使用心得
测试创建和打开文件映射的时候老是得到"句柄无效"的错误, 仔细看了MSDN以后才发觉是函数认识不透, 这里把相关的解释翻译出来HANDLE CreateFileMapping(HANDLE hFile, //物理文件句柄LPSECURITY_ATTRIBUTES lpAttributes, //安全设置DWORD flProtect,
2012-03-28 13:33:56 414
转载 gbk, gb2312,big5,unicode,utf-8,utf-16 GBK、GB18030与Unicode的映射
gbk, gb2312,big5,unicode,utf-8,utf-16的区别2009-10-23 21:46这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unico
2012-03-28 11:43:34 1916
转载 UNICODE与UTF8,UTF16的含义
最初,Internet上只有一种字符集——ANSI的ASCII字符集(American Standard Code for Information Interchange, “美国信息交换标准码),它使用7 bits来表示一个字符,总共表示128个字符,后来IBM公司在此基础上进行了扩展,用8bit来表示一个字符,总共可以表示256个字符,充分利用了一个字节所能表达的最大信息ANSI字符集:A
2012-03-28 11:42:19 300
转载 C++ operator关键字(重载操作符)
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都是由函数实现的)。 一、为什么使用操作符重载?对于系统的所有操作符,一般情况下,只
2012-03-28 11:40:44 272
转载 Const,Const函数,Const变量,函数后面的Const
自己的体会:简单的说const char *p;就是*p不能修改,p可以修改,char *const p;就是p不能修改,*p可以修改,function fun1(int a) const,就在所在的类,此函数不能修改成员数据,非要修改的话,必须加上修饰符:mutable int aaa; 看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是
2012-03-28 11:35:36 260
转载 多继承的构造顺序
构造对象的规则需要扩展以控制多重继承。构造函数按下列顺序被调用: (1)任何 虚拟基类的构造函数按照它们被继承的顺序构造;(#add 即声明顺序) (2)任何非虚拟基类的构造函数按照它们被继承的顺序构造; (3)任何成员对象的构造函数按照它们声明的顺序调用; (4)类自己的构造函数。 例如: //**********************
2012-03-28 11:34:51 372
转载 vc中socket编程步骤及实例
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑
2012-03-28 11:33:14 757
转载 重叠IO之完成例程的实现方法
目录:1.完成例程的优点2.完成例程的基本原理3.关于完成例程的函数介绍4.完成例程的实现步骤5.实际应用中应该进一步完善的地方 一. 完成例程的优点1. 首先需要指明的是,这里的“完成例程”(Completion Routine)并非是大家所常听到的“完成端口”(Completion Port),而是另外一种管理重叠I/O请求的方式,而
2012-03-28 11:31:29 2074
转载 Winsock 网络编程 Socket模型之Completion模型
前言:讲一下套接字模式和套接字I/O模型的区别。先说明一下,只针对Winsock套接字模式:阻塞套接字和非阻塞套接字。或是叫同步套接字和异步套接字。套接字模型:描述如何对套接字的I/O行为进行管理Winsock提供的I/O模式一共有五种:Select模型,WSAAsyncSelect模型,WSAEventSelect模型,Overlapped模型(重叠IO),Compl
2012-03-28 11:24:26 604
Visual Assis X 10.7.1925.0
2013-01-08
Windows程序设计中文版(CHM)
2010-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人