
C/C++
文章平均质量分 78
wangxijie
这个作者很懒,什么都没留下…
展开
-
C可怕的病毒源程序
/* SK-CHINA SVCHOST virus WRITE BY S.K Compiler: DEV-CPP 4.9.9.2*//* SVCHOST.C *//* SVCHOST.EXE *//* SVCHOST.COM */#include /*标准输入输出*/ #include /*字符串操作*/ #include /*其它函数*/ #include /*进程控制*/转载 2008-10-25 14:30:00 · 782 阅读 · 0 评论 -
C++ sizeof 使用规则及陷阱分析
1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type s转载 2009-03-01 22:02:00 · 1245 阅读 · 0 评论 -
C++ operatpr重载 总结
不多说废话咯,代码里很清晰,学C++已经3年了,当时很多细节都没关注过,现在看effective c++ 发现已经错过了很多经典动作。-_-...class CPoint{ int x,y; public: CPoint(int x,int y) { //cout<<"constructer be call"<<endl; this->x = x;原创 2009-03-05 13:28:00 · 894 阅读 · 0 评论 -
拨开自定义operator new与operator delete的迷雾
ps:昨天在写operator的重载,写到new 和 delete带参数重载时候就给卡住了,想了好久,郁闷纳。。最后看到这个文章,简单的说,我们定义的带参数的operator delete我们无权利调用,调用则出错,通常我们还是调用默认的delete去释放。而我们定义的带参delete是在相应的new对象出错抛出错误时候给系统调用释放内存的.另外一个,总是让base class 拥有 virt转载 2009-03-06 20:56:00 · 669 阅读 · 0 评论 -
vc中new和delete操作符的重载(参考资料)
在C++中重载new和delete操作符可以给程序带来更灵活的存储控制,对于游戏设计等对效率要求较高的应用而言是必不可少的。一般的C++书籍中也会介绍它们的应用和实现,然而在VC中实现却有几个必须注意的地方,否则编译会出现问题。1. 实现首先,vc在每个自动生成的cpp文件中都会加入如下代码:#ifdef _DEBUG#undef THIS_FILEstatic char THIS_F转载 2009-03-06 21:01:00 · 830 阅读 · 0 评论 -
VC++的Unicode编程
本文示例源代码或素材下载 一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H—FF转载 2009-04-13 23:43:00 · 519 阅读 · 0 评论 -
winAPI做hash加密
#include #include using namespace std;#include #include #include #include #include #include #define BOLCKSIZE 184320DWORD ComputeHash(CONST BYTE *pbData, DWORD dwDataLen, ALG_ID al原创 2009-09-04 18:16:00 · 1038 阅读 · 0 评论 -
vc技巧杂文一
在VC6中使用ML混合ASM编译方法 在VC6中编译ASM文件,需要安装VCPP5但是打了SP6的可能装不上这个,可以到注册表里HKLM/SOFTWARE/Microsoft/VisualStudio/6.0/ServicePacks子键下把latest DWORD值 00000006改为latest DWORD值 00000005就可以安装了也可以转载 2009-10-09 17:13:00 · 661 阅读 · 0 评论 -
调试输出信息在output窗口
如何调试Win32程序方法一:使用OutputDebugString函数函数的原型如下:void OutputDebugString( LPCTSTR lpOutputString);该函数会输出信息到系统的DEBUGER,输出结果可以使用工具DebugView观察。因为OutputDebugString的参数是字符串,而我们在实际使用过程中通常希望能像pri转载 2009-12-21 15:46:00 · 4666 阅读 · 0 评论 -
CSoundBase实现录音与播放
1.简介 CSoundBase是我封装的一个API类,主要是为了能方便实现声音的录制和播放.目前仅支持WAV的录制和播放. 完整的代码见本文第四节. 如果各位朋友发现有BUG需要修正,欢迎和我联系,谢谢! 2.使用方法 CSoundBase类的使用非常简单,首先声明一个类指针,然后获取类的实例: CSoundBase *pSoundPla转载 2009-03-01 22:05:00 · 787 阅读 · 0 评论 -
c代码编译过程
1 源文件hello.c(文本)--à预处理器----àhello.i(文本)预处理器:将#include 包含的文件内容插入该命令处,检查全文处理#define宏定义,处理条件编译命令 #if #endif 将不需要的code屏蔽掉,处理完毕后生成修改后的源代码hello.i.2 hello.i(文本)----à编译器------àhello.s(汇编程序 文本)编译器:词法分析转载 2009-02-12 12:48:00 · 659 阅读 · 0 评论 -
利用 PNG 文件创建异形对话框
当今软件十分流行异形的窗体界面, 例如程序启动画面等, 代表性最强的就属 Adobe Creative Suite 中各产品的启动画面了, 异形的窗体界面会以他的绚丽外表为您的应用程序增色不少~~ 要想在您的应用程序中实现异形窗体其实并不困难, 我们可以借助 Gdi+ 技术轻松实现, 下面 大M 就来为大家介绍具体的操作步骤。 创建异形对话框的原理就是利用一张带有 Alpha转载 2009-02-10 22:01:00 · 5306 阅读 · 6 评论 -
静/动态链接库使用总结
-----------------------编写方法(visual studio为例)一、静态库编写1.首先当然是开VS然后创建一个静态库工程啦2.格式.一般有头文件.h和原文件.cpp,当然你也可以写一在一个cpp里.mydll.h------------------------extends "C"{ int sum(int num1,int num2);原创 2008-10-26 21:38:00 · 591 阅读 · 0 评论 -
C/C++函数调用方式内幕
调用约定:__cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,2、_cdecl是C和C++程序的缺省调用方式。每一个调用它转载 2008-10-26 22:04:00 · 791 阅读 · 0 评论 -
如何在C++获得系统时间
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级 #include #include int main( void ) { time_t t = time(0); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) ); puts转载 2009-01-31 20:49:00 · 2565 阅读 · 0 评论 -
C++中的数据类型转换方法总结
摘要:本文总结了C/C++中的多种数据类型转换方法,并比较了各自的优劣。给出了推荐的使用建议。从int到char*,或者反过来从char*到int,在C/C++中到底有多少种转换方法呢?符合标准的大概有四种。即C数据转换函数族、sprintf/snprintf/sscanf函数族、字符串流std::stringstream、std::strsteam。不符合标准却又广为使用的包括CString转载 2009-01-23 19:24:00 · 731 阅读 · 0 评论 -
windows下配置apache以运行CGI
windows下配置apache以运行CGI引言:最近接触了一下cgi,想尝试一下cgi的高效性,可是弄了半天还是无法运行一个简单的cgi程序不过今天我再弄了一下,通过反复测试,竟然发现:原来用Turboc2编译和连接后生成的exe无法在apache下运行用VC创建的exe才可以诶,怎一个"晕"自了得,为了初学者少走点弯路,下面我把今天的一些心得体会记录下来拉正文:背景:操作系统:windowsW转载 2009-02-08 13:14:00 · 1379 阅读 · 0 评论 -
Visual C++2005中开发自定义绘图控件
Visual C++2005中开发自定义绘图控件本文源代码下载:CustomDraw.exe。 在您决定开发 Windows 提供的常规免费自定义控件范围之外的控件之后,您必需确定自己的控件将有多少独到之处 — 在功能和外观两方面。例如,我们假定您正在创建一个类似于计速表的控件。由于公共控件库 (ComCtrl32.dll) 中没有类似的控件,您完全需要自己进行以下操作:编写所有控件功能需要的转载 2009-02-10 21:59:00 · 3585 阅读 · 0 评论 -
自绘控件笔记
不选择在 PreSubclassWindow 中作“初始化”工作是因为用户可能在使用中改变属性,必须在一个经常进入的地方检查是否要重新“初始化”。把这项工作放到和绘制有关的消息响应函数里则父窗口一个 RedrawWindow() 就可以引起重新“初始化”。 一般步骤:1.派生控件子类 2.添加 PreTranslateMessage 3.进行常规操作记下消息类型4.在子转载 2009-02-10 22:01:00 · 1236 阅读 · 0 评论 -
GDI+编程基础 GDI+ Vs GDI
一、GDI GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行。例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的程序也能在激光打印机上工作。它把windows系统中的图形转载 2009-02-10 22:04:00 · 640 阅读 · 0 评论 -
一个跨平台的 C++ 内存泄漏检测器
内存泄漏对于C/C++程序员来说也可以算作是个永恒的话题了吧。在Windows下,MFC的一个很有用的功能就是能在程序运行结束时报告是否发生了内存泄漏。在Linux下,相对来说就没有那么容易使用的解决方案了:像mpatrol之类的现有工具,易用性、附加开销和性能都不是很理想。本文实现一个极易于使用、跨平台的C++内存泄漏检测器。并对相关的技术问题作一下探讨。基本使用转载 2009-12-21 15:53:00 · 848 阅读 · 0 评论