
C/C++/VC
文章平均质量分 67
sunningPig
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
V6 开发Unicode程序
V6中开发可运行在不同语言系统的Unicode程序,大致步骤如下:1、Project — Settings — C/C++ Tab — Preprocessor definitions:中加入_UNICODE, UNICODE。这里的_Unicode和Unicode的区别在于,后者专门用于C运行时同文件。后者用于Windows头文件。2、将代码中的所有所有的 char 用TCHAR代替,所原创 2007-03-12 16:28:00 · 1291 阅读 · 0 评论 -
Effective C++: 55 special ways to improve your programs and designs
Accustoming Yourself to C++1. View C++ as a federation of languages2. Prefer const, enums, and inlines to #defines3. Use const whenever possible4. Make sure that objects are initialized before原创 2012-04-23 10:51:44 · 825 阅读 · 0 评论 -
redirect the std::cout to QtTextEdit
Steps:1. Create a class that inherit std::basic_streambuf2. Override overflow() function.Sample codes:Header class myos : public std::basic_streambuf > { typedef char_traits _Tr原创 2012-02-27 16:56:50 · 912 阅读 · 0 评论 -
C++内存管理详解
C++内存管理详解伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地转载 2011-11-10 09:24:04 · 570 阅读 · 0 评论 -
C++虚函数表解析(转) ——写的真不错
C++虚函数表解析(转) ——写的真不错 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在转载 2011-11-10 09:40:55 · 459 阅读 · 0 评论 -
宏定义中##和#的作用
<br />Author: linqo from: linqo.cublog.cn<br /> 内核中有很多的宏定义,在宏定义define中经常看到两个字符串##和#,这里把它的用法做一下说明:<br /> ##是一个连接符号,用于把参数连在一起<br /> 例如:<br /> > #define FOO(arg) my##arg<br /> 则<br /> > FOO(abc)<br /> 相当于转载 2010-12-17 17:57:00 · 715 阅读 · 0 评论 -
print message to debug output window (VS)
Some times we could want to print the debug messages to a window (console or windows) or a file, we debug our programms with these information. Theres a better way to debug programm, print the messag原创 2010-05-07 11:09:00 · 3648 阅读 · 0 评论 -
去掉 CONSOLE 窗口
转自:http://blog.youkuaiyun.com/main90/archive/2009/12/11/4986530.aspx 众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种方法。 操作系统装载应用程序后,做完初始化工转载 2009-12-30 15:48:00 · 879 阅读 · 0 评论 -
Make your function support multi args (paras).
void Reporter::record(unsigned int outType, RPT_MSGTYPE messageType, const char* format, ...){ va_list args; // retrieve the variable arguments va_start( args, format ); int原创 2009-07-23 11:10:00 · 553 阅读 · 0 评论 -
(转)TCP/IP 数据包头格式
(转)TCP/IP 数据包头格式 最近狂补基础,猛看TCP/IP协议。不过,书上的东西太抽象了,没有什么数据实例,看了不 久就忘了。于是,搬来一个sniffer,抓了数据包来看,呵呵,结合书里面得讲解,理解得 比较快。我就来灌点基础知识。 开始吧,先介绍IP协议。 IP协议(Internet Protocol)是网络层协议,用在因特网上,TCP,UDP,IC转载 2008-04-28 17:14:00 · 890 阅读 · 0 评论 -
文件查找/删除 练习
一点文件查找/删除的代码/**//* Microsoft Corporation I/O functions: */#include io.h>std::string str("D:");_finddata_t f; //file structlong labe原创 2008-01-15 12:56:00 · 726 阅读 · 0 评论 -
向非活动窗口发送Hook到的消息
Dll 中向非活动窗口发送消息时,目标窗口的句柄应该被共享:#pragma data_seg(".sdata") HWND m_hMainWnd = NULL; //Save the MainWindows HANDLE#pragma data_seg()同时在.def文件中添加如下信息:SECTIONS .sdata READ WRITE SHA原创 2007-06-29 16:17:00 · 1098 阅读 · 0 评论 -
Debug&Release的不同
写了几段代码,在Dubug下没有任何的警告和错误信息,但Release以后却出现2个警告,忽略以后运行,竟出现运行错误。 2警告: LINK : warning LNK4089: all references to "ADVAPI32.dll" discarded by /OPT:REF LINK : warning LNK4089: all references to "SHELL32.dll原创 2007-06-29 16:47:00 · 1193 阅读 · 0 评论 -
MFC 中使用自定义消息
消息映射、循环机制是Windows程序运行的基本方式。VC++ MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤: 第一步:定义消息。 推荐用户自定义消息至少是WM_USER+100,因为很原创 2007-06-25 17:56:00 · 829 阅读 · 0 评论 -
CreateProcess
说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。函数原型:BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttribut转载 2007-03-13 14:13:00 · 1776 阅读 · 1 评论 -
_tcsset 不能直接用_T('c')参数
郁闷了一上午,新改的Unicode代码总是有错误。编译没有错误后运行出错。一开始我还以为是改成Unicode后调用程序无法找到这个Dll的入口,但加上DllMainCRTStartup后,又告知“entrypoint "_DllMainCRTStartup" is not __stdcall with 12 bytes of arguments”这个错误。看来不是Dll入口错误。那就是代码错误。原创 2007-03-13 13:50:00 · 968 阅读 · 0 评论 -
亲密接触VC6.0编译器
大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢? 闲话少说。我们转载 2007-03-13 10:08:00 · 772 阅读 · 0 评论 -
C/C++实现多参数函数编程
在C/C++中,我们经常会需要实现类似printf这样的函数,即函数的参数个数是不定的,这个时候就需要用到我们这篇文章讲到的方法啦。首先,我们要知道这种函数,如何来定义。比如我想实现一个函数能够支持 fun("%d",1);那么这个函数的定义实际上如下:void fun(const char *fmt, ...);其中...的意思是说参数无法一一列出,所以用...代替,至于怎么转载 2010-12-17 17:56:00 · 1994 阅读 · 0 评论