- 博客(43)
- 收藏
- 关注
原创 经典收藏
大型网站架构演变和知识体系: http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html
2013-08-29 17:10:21
901
转载 用VS做汇编开发环境的方法
汇编编译器测试看到大侠们不用引入表得到了函数地址,我也想试试,可是不想装其他的开发环境,我只熟悉VS,所以打算用vs2005来实验下汇编开发,经过几次调试,发现经过下面两步操作后,可以做到vs生成的结果和汇编环境生成的结果在逻辑上是一致的。1.改入口点 /Entry:main ,不让我们的程序由CRT启动,而是由Kernel32.dll启动 2.给main函数增加 __de
2013-08-24 21:57:29
1298
转载 内存泄漏检测
一、 在 MFC 中检测内存泄漏 假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。 我们用VS2005生成了一个MFC的对话框的程序,发现他可以自动的检测内存泄露。不用我们做任何特殊的操作。 仔细观察,发现在每个CPP文件中,都有下面的代码: #ifdef _DEBUG #define new DEBUG_NEW
2013-08-07 22:35:37
812
转载 异常处理
exceptionmfcfilterclass语言c一、前言Visual C++提供了对C语言、C++语言及MFC的支持,因而其涉及到的异常(exception)处理也包含了这三种类型,即C语言、C++语言和MFC的异常处理。除此之外,微软对C和C++的异常处理进行了扩展,提出了结构化异常处理(SEH)的概念,它支持C和C++(与之相比,MFC异常处理仅支持C++)。 一
2013-08-07 22:29:58
753
转载 MD5算法的C++实现
MD5算法的C++实现 :http://www.cnblogs.com/rooney/archive/2012/07/04/2575945.html 1. IntroductionMD5算法是一种消息摘要算法(Message Digest Algorithm),此算法以任意长度的信息(message)作为输入进行计算,产生一个128-bit(16-byt
2013-08-07 21:51:21
675
转载 C++ int,char,string,CString类型转换
#include //使用C++标准库的string类时using namespace std;//同上#include #include #include //要将string类和int类型直接转换最好有这些包含, //因为自己写一个转换函数比较方便,函数定义参考如下:string getstring(const i
2013-08-07 21:50:05
728
转载 无题
只需在程序中加入下面一句话#pragma comment(linker, "/subsystem:\"windows\"/entry:\"mainCRTStartup\"" )这样就不会显示窗口了
2013-08-03 12:43:13
504
转载 sqlplus的几种登陆方式
1.C: > sqlplus "/as sysdba" --以操作系统权限认证的oracle sys管理员登陆2.C: > sqlplus /nolog --不在cmd或者terminal当中暴露密码的登陆方式SQL> conn /as sysdba&SQL> conn sys/password as sysdba3.C: > sqlplus scott/ti
2013-08-03 11:04:27
684
转载 Linux 开发环境工具
软件集成开发环境(代码编辑、浏览、编译、调试)Emacs http://www.gnu.org/software/emacs/Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenavAnjuta http://anjuta.sourceforge.net(可用yu
2013-08-02 22:37:48
3203
原创 C++网络库总结
ACE - Adaptive Communication Environment http://www.cs.wustl.edu/~schmidt/ACE.html Common G++ (GNU) Home or Socket Class Reference Socket++ version 1.11 http://www.cs.utexas.edu/users/lavender
2013-08-01 20:44:44
804
转载 VC调用DLL
调用DLL有两种方法:静态调用和动态调用.(一).静态调用其步骤如下:1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的Debug目录下;2.把你的youApp.lib拷到你目标工程(需调用youApp.DLL的工程)目录下;3.把你的youApp.h(包含输出函数的定义)拷到你目标工程(需调用youApp.DLL的工程)目录下;4.打开你的
2013-08-01 19:32:18
594
转载 Eclipse快捷键
Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+
2013-08-01 18:27:05
514
转载 VS2010版快捷键
Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT
2013-08-01 16:36:12
596
转载 关键字:Const,Const函数,Const变量,函数后面的Const
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书
2013-07-31 17:24:04
647
转载 VC6.0 error LNK2001: unresolved external symbol _main解决办法
学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unre
2013-07-31 11:25:22
642
转载 C/C++获取当前系统时间
源地址:http://www.cnblogs.com/mfryf/archive/2012/02/13/2349360.html // 个人觉得第二种还是比较实用的,而且也是最常用的~// 不过当计算算法耗时的时候,不要忘记second,不能只要用Milliseconds来减,不然后出现负值,若是算法耗时太长就得用minutes啦。再不然,就hours……/
2013-07-31 11:17:34
736
转载 对象的消息模型
源文地址:http://kb.cnblogs.com/page/111934/ C++对象模型 话题从下面这段C++程序说起,你认为它可以顺利执行吗?//C++class A {public: void Hello(const std::string& name) { std::cout << "hello " << name; }};in
2013-07-30 22:06:28
594
转载 多线程环境下OTL的使用
1, OTL是什么OTL是一个数据库访问模板库,支持绝大部分数据库访问。OTL是C++写的,based on templates, 只有一个头文件,大小只有800K+。使用方便,性能也很不错可以使用OTL访问基本上所有的数据库,在你更换数据库时不用修改任何业务代码强烈推荐在C++开发中使用 2,OTL下载http://www.veda.dk/~clr/doc/otl/otl
2013-07-30 20:31:24
1385
原创 rpcndr.h和wtypes.h冲突Bug的解决方案
rpcndr.h和wtypes.h冲突时,其错误表现如下:C:\program files\microsoft visual studio\vc98\include\rpcndr.h(173) : error C2632: 'char' followed by 'int' is illegalC:\program files\microsoft visual studio\vc98\incl
2013-07-26 13:54:24
3657
转载 OTL
什么是OTL:OTL 是 Oracle, Odbc and DB2-CLI TemplateLibrary 的缩写,是一个操控关系数据库的C++模板库,它目前几乎支持所有的当前各种主流数据库。Oracle和DB2也可以由OTL间接使用ODBC的方式来进行操纵。OTL中直接操作Oracle主要是通过Oracle提供的OCI接口进行,依赖于Oracle客户端。 OTL使用简单, 只要头文件中包
2013-07-24 16:45:22
1719
转载 数论C++函数库——NTL库快速上手中文指南(VC)
NTL 数论C++函数库——NTL库快速上手中文指南(VC) NTL库的官方网站地址: http://www.shoup.net/ntl/ 该网站有详细的说明文档,下载下来的压缩包内也有详细的说明文档。 本帖以winxp下的VC 6.0为例说明NTL的使用方法。 1、我们将压缩包下载下来(不到1M,很快吧)
2013-07-18 19:43:01
22148
转载 C/C++内存泄漏及检测
“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一
2013-07-16 20:12:07
550
转载 VC++动态链接库(DLL)编程深入浅出(zz)
源文件地址:http://www.cnblogs.com/chio/archive/2007/11/03/948480.html1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态
2013-07-13 17:26:52
946
转载 WSAEventSelect模型客户端代码示例
// g_wsaEventSelect_Client.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #pragma comment(lib,"Ws2_32.lib")SOCKET g_socketServer = INVALID
2013-07-07 12:05:52
1261
转载 Windows Socket编程头文件以及lib
如果你用VC下的MFC工程那么只需要添加一个头文件#include 并且做初始化AfxSocketInit();这个初始化最好在app类对话框创建之前做.如果你是其他项目就可能会用到#include #include 常用的就这两个另外库可能会用到#pragma comment(lib,"winsock.lib")#pragm
2013-07-07 11:50:21
2001
转载 IOCP以及扩展Windows socket函数应用示例
#include #include #include #include //微软扩展的类库using namespace std;#define SEND 0#define RECV 1#define ACCEPT 2#define DATA_LENGTH 1000//单句柄数据定义typedef struct _PER_HANDLE_DATA{SOCKET
2013-07-07 11:49:02
738
转载 Windows完成端口与Linux epoll技术简介
WINDOWS完成端口编程1、基本概念2、WINDOWS完成端口的特点3、完成端口(Completion Ports )相关数据结构和创建4、完成端口线程的工作原理5、Windows完成端口的实例代码Linux的EPoll模型1、为什么select落后2、内核中提高I/O性能的新方法epoll3、epoll的优点4、epoll的工作模式 5、epoll的
2013-07-07 11:44:23
916
转载 windows环境下Socket编程的几种模式
windows环境下Socket编程的几种模式ü 阻塞模式 这个模型是讲解计算机网络时被作为例子介绍的,也是最简单的。其基本原理是:首先建立一个socket连接,然后对其进行操作,比如,从该socket读数据。因为网络传输是要一定的时间的,即使网络通畅的情况下,接受数据的操作也要花费时间。对于一个简单的单线程程序,接收数据的过程是无法处理其他操作
2013-07-07 11:39:18
754
转载 WSAAsyncSelect模型
#include #include "WSAInit.h"#define WM_SOCKET (WM_USER + 101) // 自定义消息#define MAX_LEN 1024CWSAInit theSocket;LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l
2013-07-04 23:04:56
555
转载 消息机制-WSAAsyncSelect
WSAAsyncSelect基于Windows消息机制异步I/O模型,为特定网络事件指定系统通知信息.函数定义int WSAAsyncSelect(SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent);(1)参数4-1Event:设定用户关心得套接口上的网络事件.形式如:1Event=FD_READ/FD_CLOSE.网络I/O事
2013-07-04 22:44:01
751
转载 MFC中的消息处理流程
MFC活动 在MFC中,消息是通过一个向上递交的方式进行处理,例如一个WM_COMMAND消息的处理流程可能为:1) MDI主窗口(CMDIFrameWnd)收到命令消息WM_COMMAND,其ID位ID_XXX; 2) MDI主窗口将消息传给当前活动的MDI子窗口(CMDIChildWnd); 3) MDI子窗口给自己的子窗口(View)一个处理机会,将消息交给View
2013-07-04 21:13:05
747
转载 Windows网络编程细节问题
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof
2013-07-04 17:22:03
671
原创 WinSock I/O编程模型之——Select模型
最近,在系统地学习windows网络编程。虽然,已经浏览过select相关代码,查阅过很多书籍和资料,但是自始自终都是一副朦胧的姿态,一知半解,不知所以。为了更好的学习网络编程,决定将多线程和套接字I/O模型这块知识进行彻底的总结一下,书写一些测试代码,将这块堡垒攻下。当然自己不是什么大师,这方面知识相对匮乏,或多获少会存在一些歧义,希望能在不断的学习过程中,总结不足,及时补充。
2013-07-04 17:16:39
663
原创 钩子函数简介
(一)为什么要用钩子函数众所周知,在DOS操作系统下,用户常常可以通过截获有关的软中断,来对原有的程序进行修改,实现特有的功能。同样在WINDOWS环境下,用户也可以对原有的WINDOWS程序进行修改,实现象对英文WINDOWS程序的汉化等的功能。这就要涉及到如何获取WINDOWS应用程序运行时所发出消息的问题。你可以通过钩子函数来解决这一问题。(二)钩子函数简介1.有关概念a.钩
2013-06-22 21:42:51
871
原创 Windows Sockets错误码 代码及对应的信息说明
下面以表格的形式列出了WSAGetLastError()函数有可能返回的错误代码和对应的解释。错误代码的数值对于所有的Windows Sockets兼容实现都是一致的。 错误代码Berkeley对应代码错误数值说明WSAEINTREINT10004函数调用中断。该错误表明由于对WSACancelBlockingCa
2013-06-21 14:43:35
1680
转载 一个合格的程序员应该读过哪些书
点击打开链接编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个
2013-06-20 23:16:13
732
转载 Oracle数据库服务的相关知识详解
Oracle数据库的操作中,我们常常需要启动或关闭一些服务以实现我们需要的功能。但是前提是我们必须要了解Oracle数据库的服务,如果您对Oracle数据库的服务也不是很了解,没关系,本文我们就对Oracle数据库的服务进行了详细的介绍,接下来就让我们一起来了解一下这部分内容吧。 Oracle的默认服务一共有5个: 1.OracleDBConsoleorcl oem控制台的服务进程。
2013-06-18 15:41:15
608
转载 空字符串初始化的方法及区别
转自: http://www.cnblogs.com/yitongtianxia59/archive/2009/07/22/1528620.html(1)NULL null 关键字是表示不引用任何对象的空引用的文字值。 null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int
2013-06-18 12:47:10
916
转载 c++资源
开发工具:VIM 骨灰级玩家专属emacs 骨灰级玩家专属code::blocks 入门级推荐codelite 入门级首选eclipse+CDT 如果你经常用eclipse就直接装个cdt的插件吧netbeans 习惯netbeans的首选anjuta gtk首选KDeveloper 曾经的Linux下经典开发工具Xcode Mac系开发首选QtCreator Q
2013-06-17 18:36:21
836
原创 error LNK2038: '_ITERATOR_DEBUG_LEVEL'不匹配的解决办法
'_ITERATOR_DEBUG_LEVEL'不匹配的原因分析: 在VS2010的C++头文件(包括STL)里,都会包含yvals.h这个文件,而这个文件会定义:#pragma detect_mismatch("_ITERATOR_DEBUG_LEVEL", "xxxxxx")其中,xxxxxx中的内容,会因为编译方式不同而不同。因此,链接两个使用不同编译方式
2013-06-17 17:10:22
2084
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人