
C/C++
文章平均质量分 77
snail8384
这个作者很懒,什么都没留下…
展开
-
How to write a Makefile
How to write a MakefileIntroductionMake is one of the original Unix tools for Software Engineering. ByS.I. Feldman of AT&T Bell Labs circa 1975. But there are publicdomain versions (eg. GN转载 2008-12-27 17:57:00 · 777 阅读 · 0 评论 -
CreateProcess函数详解
CreateProcess说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。函数原型:BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpPro转载 2008-12-27 18:20:00 · 884 阅读 · 0 评论 -
Introduction to RPC - Part 1
Download source files - 13.1 Kb Download demo project - 314 Kb ContentsIntroduction IDL, RPC and you Interface Definition Language (IDL) Remote Procedure Call (RPC) Are you scared yet?转载 2008-12-28 18:10:00 · 703 阅读 · 0 评论 -
SMTP Client ActiveX component
SMTP Client ActiveX component By Kashif Manzoor Download source code - 18.7 Kb Download EXE - 176 Kb IntroductionSmtp.Server is an ActiveX component that you may use tosend emails. It m转载 2008-12-30 19:01:00 · 1947 阅读 · 0 评论 -
RoundButton Windows Control - Ever Decreasing Circles
RoundButton Windows Control - Ever Decreasing Circles By Gary Perkin Download demo project and source- 83.4 Kb IntroductionSome time ago, I tried to find a nice round-button control. Ic转载 2008-12-31 09:22:00 · 904 阅读 · 0 评论 -
How to print the content of a Rich Edit Control
How to print the content of a Rich Edit Control By Roger Allen Download demo project - 31.2 Kb IntroductionI see many questions about printing, when helping people on the VC++forum here a转载 2008-12-31 10:11:00 · 1007 阅读 · 0 评论 -
ESMTP身份验证机制探索手记
为了限制非本系统的正式用户利用邮件服务器散发垃圾邮件或进行其他不当行为,国内各大免费/收费邮箱提供商纷纷升级到ESMTP方式,开设了安全认证服务。在ESMTP服务器上,发送邮件需要对用户的身份进行验证。与传统的SMTP方式相比,多了一道用户身份的验证手续,验证之后的邮件发送过程与传统的SMTP方式一致。几乎所有的ESMTP服务器都继承了POP3服务器的账号和密码设置体系,也就是说收发邮转载 2008-12-30 21:45:00 · 931 阅读 · 0 评论 -
Koders(Open Source Code Search Engine)
Koders(Open Source Code Search Engine) http://www.koders.com原创 2008-12-31 19:03:00 · 807 阅读 · 0 评论 -
帮你理解回调函数
什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 为什么要使用回调函数? 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。 如转载 2008-11-09 06:44:00 · 381 阅读 · 0 评论 -
Using the Clipboard, Part I : Transferring Simple Text
Using the Clipboard, Part I : Transferring Simple Text By Tom ArcherDownload demo project - 24 KbWith just a few lines of code, you can easily add Clipboard functionality to your application转载 2009-01-04 11:29:00 · 997 阅读 · 0 评论 -
Copying a DIB to the Clipboard
Copying a DIB to the Clipboard By John Simmons / outlaw programmer Helps with copying a device independant bitmap to the clipboard.Download source files - 90 KbIntroductionRecen转载 2009-01-04 11:30:00 · 884 阅读 · 0 评论 -
CWaitingTreeCtrl
CWaitingTreeCtrl By Paolo MessinaDownload source files - 6 KbWhat is it & Why?My real intention, when I started this project, was to develop a treecontrol to display network resources. Enumera转载 2009-01-04 11:34:00 · 836 阅读 · 0 评论 -
CNetworkTreeCtrl
CNetworkTreeCtrl By Paolo Messina Download source files - 3.38 Kb Download demo project - 36 KbCNetworkTreeCtrlThis is just an example of a content provider class (see the article CWait转载 2009-01-04 11:35:00 · 725 阅读 · 0 评论 -
高质量C++/C编程指南 -- 内存管理之二
内存管理7.5 free和delete把指针怎么啦? [此处原文缺]7.7 杜绝“野指针”“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。 “野指针”的成因主要有两种:(1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是转载 2008-11-10 18:12:00 · 483 阅读 · 0 评论 -
内存常见问题与调试技巧 ——C语言最大难点揭秘
本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划。但好消息是,它们并不怎么神秘。引言C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果。来自计算机应急响应小组(请参见参转载 2008-11-10 18:23:00 · 795 阅读 · 0 评论 -
高质量C++/C编程指南 -- 内存管理之一
内存管理欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981程序员们经常编写内存管理程序,往转载 2008-11-10 18:10:00 · 422 阅读 · 0 评论 -
XHtmlTree - Tree control with support for HTML, XML, Smart Checkboxes, and Drag & Drop
XHtmlTree - Tree control with support for HTML, XML, Smart Checkboxes, and Drag & Drop By Hans Dietrich XHtmlTreeis an MFC control based on CTreeCtrl, with support for HTML text, webl转载 2009-01-04 11:38:00 · 3277 阅读 · 0 评论 -
如何正确的使用PeekMessage()
HOWTO: How to Use PeekMessage() Correctly in WindowsSUMMARYIn the Windows environment, many applications use a PeekMessage()loop to perform background processing. Such applications must allow th转载 2008-11-14 13:25:00 · 946 阅读 · 0 评论 -
SDK程序员经常写出的一段低效率代码
SDK程序员经常写出的一段低效率代码[代码优化][原] 由于新版本的 MafaLSHelper v1.0 Standard 在编写当中需要涉及到一些更加复杂的操作,将导致以前用MASM32所编写的Utils.dll函数库供不应求,所以目前需要新增一批函数!如下列表:转载 2008-11-14 13:26:00 · 994 阅读 · 1 评论 -
使用VC++的编译器创建最小的镜像文件(DLL/EXE)
一、序本文通过描述一些方法来告诉你如何打造一个最小的镜像文件(DLL/EXE)。这些方法包括:1) 剔除C运行时Stub;2) 编译器(cl.exe)和链接器(link.exe)的一些参数设置。如题,这里所指的编译器及链接器我主要集中在MSVC6上(这些方法通常也适用于MSVC5)。当一些出现在这里的观念在应用于其它开发环境中的命令行参数及#pragmas出现明显差异时转载 2008-11-14 13:28:00 · 1363 阅读 · 1 评论 -
堆:欢乐和痛苦
Murali R. KrishnanMicrosoft Corporation1999 年 2 月摘要: 讨论常见的堆性能问题以及如何防范它们。(共 9 页)前言您是否是动态分配的 C/C++对象忠实且幸运的用户?您是否在模块间的往返通信中频繁地使用了“自动化”?您的程序是否因堆分配而运行起来很慢?不仅仅您遇到这样的问题。几乎所有项目迟早都会遇到堆问题。大家都想说,“我的代转载 2008-11-14 13:37:00 · 441 阅读 · 0 评论 -
ODBC中的FX/Bulk RFX数据交换机制分析
前言 ODBC(Open DatabaseConnectivity,开放式数据库连接)提供了一种统一访问数据库的接口,MFC ODBC数据库类将ODBCAPI函数进行了封装,可以避免直接使用ODBCAPI时大量代码的编写,大大简化了ODBC数据库开发的编程工作。用于在数据源和记录集对象之间进行数据交换的::SQLBindCol函数在MFCODBC下也由RFX()所转载 2008-11-16 10:41:00 · 674 阅读 · 0 评论 -
COM编程必须掌握的知识
(1) COM组件实际上是一个C++类,而接口都是纯虚类。组件从接口派生而来。我们可以简单的用纯粹的C++的语法形式来描述COM是个什么东西: class IObject { public: virtual Function1(...) = 0; virtual Function2(转载 2008-11-17 19:41:00 · 574 阅读 · 0 评论 -
C++各大有名库的介绍之C++标准库
标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。1、Dinkumware C++ Library参考站点:http://www.dinkumware.com/P.J.Plauger编写的高品质的标准库。P.J. Plauger博士是D转载 2008-11-17 20:09:00 · 474 阅读 · 0 评论 -
gcc中使用模板类的类的编译错误
撰写时间:2008年03月12日发布时间:2008年10月29日整理时间:2008年10月29日 最近在自己写的一段代码中,使用了模板类的类,即如下形式: template void func(A) { fun2(A::B()); } 即A是一个模板类型,同时使用了A域下的类型B,需要根据A的不同而构造相应的B的实体,进行传递。转载 2008-11-16 10:30:00 · 993 阅读 · 0 评论 -
通用ODBC API应用结构概述
无论在Visual C++或Visual Basic中,我们开发数据库应用程序,都可以通过使用ODBC API直接调用SQL命令来处理数据库的数据(当然,在此之前必须通过“控制面板”中的“ODBC数据源”,建立与数据库的连接)。 ODBC API是由一组函数调用组成的,其核心是SQL。ODBC函数的主转载 2008-11-16 10:39:00 · 438 阅读 · 0 评论 -
gcc与g++
gcc与g++Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Li转载 2008-11-16 12:12:00 · 1020 阅读 · 2 评论 -
Linux下共享库的制作与使用
生成共享库(动态链接库):#>gcc -fpic -shared -o libstr.so Strlen.c Strnlen.c-fpic 使输出的对象模块是按照可重定位地址方式生成的。-shared指定把对应的源文件生成对应的动态链接库文件libstr.so文件。动态库的使用:动态库的分为隐式调用和显式调用两种调用方法:隐式调用的使用使用方法和静态库的调用差不多,具体方法如下:#>gcc转载 2008-11-17 20:22:00 · 528 阅读 · 0 评论 -
VC++数据库编程快速入门
大多数应用程序都使用数据库,各种管理软件、ERP、CRM系统均需要数据库来保存和维护应用程序的数据,在VC中提供了多种数据库访问技术,不过目前最流行的是ODBC(开放式数据库接口)和ADO(活动对象模型)。 一.数据库技术初步 1.ODBC基本概念 ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,转载 2008-11-16 10:33:00 · 950 阅读 · 0 评论 -
win32线程池代码
/******************************************************************* Thread Pool For Win32 * VC++ 6, BC++ 5.5(Free), GCC(Free)* Update : 2004.6.9 llBird wushaojian@21cn.comUse:1):void threadfunc转载 2008-11-16 10:46:00 · 514 阅读 · 0 评论 -
利用C++语言设计可扩展线程池
摘要:在各种业务解决方案的设计中,服务器处理任务的效率是衡量方案优劣的一个重要标准。使用多线程技术并发处理任务是提高服务器效率的一个主要手段。但是频繁的线程创建、销毁和任务的分配也会降低系统效率。本文设计了一个通用的线程池,根据不同服务器所处理的任务的特点,可以设置对应的线程池参数,最大幅度的提高系统性能。 关键字:线程池多线程任务虚函数异常 概述 在各种转载 2008-11-16 12:36:00 · 546 阅读 · 0 评论 -
libusb 介绍
驱动开发向来是内核开发中工作量最多的一块,随着USB设备的普及,大量的USB设备的驱动开发也成为驱动开发者手头上做的最多的事情。本文主要介绍Linux平台下基于libusb的驱动开发,希望能够给从事Linux驱动开发的朋友带来些帮助,更希望能够给其他平台上的无驱设计带来些帮助。文章是我在工作中使用libusb的一些总结,难免有错误,如有不当的地方,还请指正。 Linux 平台上的u转载 2008-11-17 20:20:00 · 648 阅读 · 0 评论 -
用纯粹的C++编写COM组件
赵湘宁 下载本文代码 本文提供一个完全用C++实现的进程内(DLL)COM服务器,不要ATL或MFC提供任何支持。用这种方式编写COM对象可以让你深入地洞察到COM处理进程内服务器的方法以及COM是如何创建类工厂的。利用本文提供的这个简单框架你可以实现很基本的COM组件,如外壳扩展(ShellExten转载 2008-11-18 09:25:00 · 506 阅读 · 0 评论 -
COM原理与应用----COM的实现
1、COM的实现与操作系统平台密切相关因为COM最初源于MicrosoftWindows平台,所以COM实现部分(即COM库)很多地方直接用到了Windows系统的一些特性,比如系统注册表、动态连接库等等,但实际上COM是一个与平台无关的组件软件模型。Windows上使用的COM标准只是COM的一个具体实现。2、COM的实现方法进程内组件(DLL ,in-process com转载 2008-11-18 17:26:00 · 758 阅读 · 0 评论 -
COM原理及应用----可连接对象
1、COM的高级特性 COM规范中有一些高级特性,如可连接对象、永久存储、一致的数据传输等,使COM规范具有更强的生命力,它们也是OLE的基础,但它们的应用又不仅仅局限于OLE,这些高级特性已经广泛应用于Windows操作系统上。 2、入接口、出接口与接收器 入接口(incoming interface)是组件暴露给客户,被动地监听并为客户请求作出反应的接口转载 2008-11-18 17:31:00 · 902 阅读 · 0 评论 -
常用的Win32函数清单
1、限制程序功能函数 EnableMenuItem 允许、禁止或变灰指定的菜单条目 EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) 2、对话框函数 CreateDialog 从资源模板建立一非模态对话窗 CreateDialogParam 从资源模板建立一非模态对话窗 CreateDialogIndirect 从内存模板建立一非模态对话窗 C转载 2008-11-16 10:47:00 · 737 阅读 · 0 评论 -
进程间通信
通过自定义消息:局限:发送的数据只能是长整型。#define WM_COMM WM_USER+100CWnd *pWnd=CWnd::FindWindow(NULL,_T("DataRecv查找DataRecv进程.")); // pWnd->SendMessage(WM_COMM,NULL,(LPARAM)uMsg);// 发送. const UINT wm_n转载 2008-11-16 12:10:00 · 749 阅读 · 0 评论 -
Windows编程中SetViewportOrg与SetWindowOrg的理解
关键词: MFC, SetWindowOrg, SetViewportOrg, 深入浅出MFC 最近突然又很有激情的开始看Jeff Prosise的那本"Programming Windows with MFC转载 2008-11-17 19:22:00 · 503 阅读 · 0 评论 -
make和Makefile文件
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次转载 2008-11-18 17:17:00 · 451 阅读 · 0 评论 -
COM原理
⊙ 第一章 概述=============================================================================== COM 是什么-------------------------------------------------------------------------------COM是由 Microsoft 提出的组件标转载 2008-11-18 17:21:00 · 517 阅读 · 0 评论