C/C++开发
文章平均质量分 77
wx红杉树
花开两朵,各表一枝(公有云和私有云)。凭借领先的技术和产品,对行业的深刻理解,先进的服务理念和能力,通过开放、灵活的产业合作,秉承领先驱动云化的使命,持续研发适合中国国情的云计算系统。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VC无闪烁刷屏技术的实现
VC无闪烁刷屏技术的实现在实现绘图的过程中,显示的图形总是会闪烁,笔者曾经被这个问题折磨了好久,通过向高手请教,搜索资料,问题基本解决,现将文档整理出来以供大家参考. 1.显示的图形为什么会闪烁 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用O原创 2008-01-30 16:07:00 · 947 阅读 · 0 评论 -
彻底搞定C指针-指向另一指针的指针
一. 回顾指针概念:早在本系列第二篇中我就对指针的实质进行了阐述。今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧!当我们程序如下申明变量:short int i;char a;short int * pi;程序会在内存某地址空间上为各变量开辟空间,如下图所示。内存地址→6 7 8 9 10 11 12 13翻译 2007-10-12 09:30:00 · 665 阅读 · 0 评论 -
缓冲区溢出原理浅析以及防护
【摘要】本文从程序语言本身的缺陷,不够健壮的角度出发,详细分析了缓冲溢出攻击的基本原理,描述了黑客利用缓冲区漏洞进行系统攻击的一般过程,最后又简单讨论了几种防范溢出攻击的策略. 【关键字】缓冲溢出; 程序跳转; 长跳转缓冲区; 近些年来,黑客攻击事件频繁发生,尤其是缓冲区溢出漏洞攻击占据了网络远程攻击的绝大多数. 因为这类攻击可以使任何人获得系统主机的完全控制权,所以它代表了原创 2007-10-17 15:40:00 · 1072 阅读 · 0 评论 -
顺序栈的实现(C语言)
顺序栈的C语言实现#include "stdafx.h"//初始长度为100#define StackSize 100typedef char DataType;typedef struct stack{ DataType data[StackSize]; int top;}SqStack;//初始化栈void InitStack(SqStack *S){ S->top = -1;原创 2007-10-17 15:44:00 · 740 阅读 · 0 评论 -
Windows上安装MinGW+MSYS
目的:想在Windows下,建立一个类似linux的环境(命令行环境就可)。解决方案:1,Cygwin : 功能很强大的linux,安装文件很大。2. MSYS+MinGW : 偶的评价:麻雀虽小,五脏具全。说明:MinGW - Minimalist GNU for Windows 网站:http://www.mingw.org/MinGW: A collection of free原创 2008-01-22 18:07:00 · 1203 阅读 · 0 评论 -
详细讲解C++ 类的继承
一个私有的或保护的派生类不是子类,因为非公共的派生类不能做基类能做的所有的事,就是指在公开场合,但是在类内部可以的一、引言在C++中,类是提供封装的逻辑单位,类的每一个对象都包含有描述其自身状态的数据集合,并且通过接收特定的消息来处理这个数据集合。如果程序设计人员能够通过增加、修改或替换指定类的部分内容的方法对该类进行剪裁,就可以适应不同的应用,从而在很大程度上增强了数据封装的价值,而接下原创 2008-01-23 09:16:00 · 30148 阅读 · 10 评论 -
perl如何与c语言结合
现在很多开源的项目都用Perl来实现,例如spamassassin,一个垃圾邮件过滤器,源代码里面即有Perl程序,又有c语言程序。本人以前没有接触过perl程序,所以有几个问题想请教各位大侠 1、spamassassin的源代码里有.pl及.pm两者后缀结尾的perl文件,这两者有什么区别?perl也象c语言一样需要头文件么,如果有的话一般是什么后缀结尾的呢原创 2008-01-24 09:52:00 · 2410 阅读 · 0 评论 -
自己写的一个在线升级的程序!
void CUpdateDlg::OnButtonDoupdate() { // 读取升级文件 CFileStatus rStatus; CString szIniData; CString inFile; CString tmp; inFile=m_szPath+"//update.in原创 2007-11-07 10:00:00 · 894 阅读 · 0 评论 -
GCC for Win32开发环境介绍(1)
GCC for Win32开发环境介绍(1)第一章 在视窗操作系统下的GCC第一节 GCC家族概览GCC是一个原本用于Unix-like系统下编程的编译器。不过,现在GCC也有了许多Win32下的移植版本。所以,也许对于许多Windows开发者来说,GCC还是一个比较陌生的东西。所以,我希望通过这章的叙述,让你——一个Windows开发者对GCC这一个优秀的编译器有一个大概的转载 2008-01-22 18:06:00 · 822 阅读 · 0 评论 -
C/C++语言void及void指针深层探索
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义原创 2008-01-23 14:12:00 · 704 阅读 · 0 评论 -
Visual C++中的图形特技
Visual C++中的图形特技 随着计算机信息表示及实现的多媒体化,在许多学习软件、游戏软件,以及多媒体课件制作软件中,经常使用各种图形显示技巧,如图形的推拉、交错、雨滴状、百页窗、积木随机堆叠等显示模式。这样使画面变得更为生动活泼,更能吸引用户,也为更好地发挥软件的功能奠定了基础。本文就Visual C++ 6.0中实现图形的各种显示技巧的原理及具体方法做些探讨。 基本原理 在原创 2008-01-30 16:09:00 · 868 阅读 · 0 评论 -
汉诺塔游戏的设计(附代码)
汉诺塔游戏的设计汉诺塔问题是最经典的递归问题,笔者就该问题设计了这个游戏,由用户交互游戏和自动演示两部分组成,支持撤销功能、选关、自动完成等功能。 首先建立了类CMap,该类主要实现用户每一步的操作和画图显示功能,记录的时候只须记录每组盘子的个数和盘子的矩形。代码和注释如下: //记录每一步的盘子的情况 class CMap { public: //每组盘子的个数 int原创 2008-01-30 16:02:00 · 3402 阅读 · 0 评论 -
总结windows下堆溢出的三种利用方式(2)
的数据所指向的地址。我们可以控制这两个数据。 可见第二种方式的前提有三个: 1)构造堆(buf2)的flag必须含有HEAP_ENTRY_BUSY和HEAP_ENTRY_VIRTUAL_ALLOC,可以设成0xff 2)构造堆的flag前面那个字节要比0x40小 3)构造堆的上一个堆(即buf1)的长度必须大于或等于0x18+0x08即32个字节,否则在关键点三处,ESI会指向我们不能控制的区域,原创 2007-10-12 09:26:00 · 585 阅读 · 0 评论 -
c代码--快速排序问题
void quicksort(sqlist l,int low,int high){int i,j;if(low{i=low;j=high;l.r[0]=l.r[i];do{while(il.r[0].key)--j;if(i{l.r[i]=l.r[j];++i;}while(i++i;if(il.r[j]=l.r[i];--j;}}while(i!=j);l.r[i]=l.r[0];quic原创 2008-01-31 09:38:00 · 1064 阅读 · 0 评论 -
Spy++原理探索(附代码)
Spy++原理初探打开VC集成开发环境,建立一个基于对话框的工程。我们把这个工程取名为SpyXX。在窗体中画上一个图片框控件(Picture)、一个静态文本控件(Static)、两个复选框控件(Check Box)和一个选项卡控件(Tab Control)。界面设计如下图。 <v:shapetype id="_x0000_t75"coordsize="21600,21600" o原创 2008-01-30 15:59:00 · 7904 阅读 · 2 评论 -
超强仿QQ自动伸缩窗口
超强仿QQ自动伸缩窗口摘要: 某天在CSDN论坛上看到有人发帖询问QQ自动伸缩窗口是怎么实现的,我也好想知道,于是到百度一搜索,结果不多,来来去去都是那几篇,下载那些demo运行一下,发觉效果与QQ相差很大,于是决定自己动手做个,要求要近乎完美地模仿这个功能。由于是些效果的东西,贴图也看不出来,所以文章里就不截图了,想看效果的就直接运行源代码的demo吧。 一、观察 模仿原创 2008-01-30 16:04:00 · 1140 阅读 · 0 评论 -
BMP图象解析
BMP图象解析BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 一、BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:typedef struct tagBITMAPFILEHEADER { WORDbfType; // 位图文件的类型,必须为BM DWORD bfSize; // 位图文件的大小,原创 2008-01-30 16:05:00 · 967 阅读 · 0 评论 -
一个生成公章图片的简易工具
一个生成公章图片的简易工具本例的运行结果图如下<v:shapetype id="_x0000_t75"coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"filled="f" stroked="f">原创 2008-01-30 16:06:00 · 5142 阅读 · 0 评论 -
用C语言编写程序实现Zip或者Rar无损压缩算法
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *HUFF.C Huffman encode for multimedia application 8*8 pixel Ve原创 2008-01-31 09:39:00 · 2719 阅读 · 1 评论 -
C语言学习笔记整理
一.sizeof()1.sizeof的使用:sizeof操作符以字节形式给出了其操作数的存储大小.sizeof操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等。 2.sizeof的结果:sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned in原创 2008-01-31 09:42:00 · 1030 阅读 · 0 评论 -
C++经典面试题
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除外)子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间原创 2008-01-31 09:41:00 · 2363 阅读 · 2 评论 -
浅析C++中的this指针
有下面的一个简单的类:class CNullPointCall{public: static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStatic; int m_iTest;};int CNullPointCall::m_转载 2008-02-13 14:03:00 · 923 阅读 · 0 评论 -
编程实现盗版QQ
源码下载(附件1 )一、思路分析 (一) 数据包的角度 (二) 钩子角度 1. 钩子简介 2. 程序流程 ;二、 实现过程 (一) 定义宏 (二) 枚举进程找到QQ.exe (三) 枚举所有窗口,找属于QQ.exe的窗口 (四) 获取用户名、密码、登陆按钮的句柄 (五) 创建钩子用的DLL (六) 安装钩子 一直以来我对盗QQ这种技术都比较的好奇,最近为了练原创 2008-01-22 15:28:00 · 7331 阅读 · 2 评论 -
求质因子个数的方法
/*求质因子的个数 */ #include stdio.h> int main(void) { long x0,y0 ; long k,total=0; int i,j,num=0 ; scanf("%d",&k);转载 2007-10-19 09:40:00 · 2134 阅读 · 0 评论 -
打保龄球(normal)
/*【模拟试题】:打保龄球(normal)Time Limit:1000MS Memory Limit:65536KTotal Submit:58 Accepted:9 Description 打保龄球是用一个滚球去打击十个站立的柱,将柱击倒。一局分十轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为十轮得分之和,而每轮的得分不仅与本轮滚球情况有关,还可能与后续一两轮的滚球情况有关转载 2007-10-19 09:23:00 · 1563 阅读 · 0 评论 -
进制转换问题
/*【基础】:进制转换问题(easy)Time Limit:1000MS Memory Limit:65536KTotal Submit:271 Accepted:153 Description 若将一个正整数n化为二进制,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。 例如:(13)10=(1101)2,其中1的个数为3,0的个数为1,则称此转载 2007-10-19 09:26:00 · 793 阅读 · 0 评论 -
猴子分桃问题
/*【基础】:猴子分桃(normal)Time Limit:4000MS Memory Limit:65536KTotal Submit:258 Accepted:81 Description 有一堆桃子和N只猴子,第一只猴子将桃子平均分成了M堆后,还剩了1个,它吃了剩下的一个,并拿走一堆。后面的猴子也和第1只进行了同样的做法,请问N只猴子进行了同样做法后这一堆桃子至少还剩了多少个桃子(假设剩下转载 2007-10-19 09:34:00 · 1442 阅读 · 0 评论 -
求最大公约数的快速算法
/* stein 算法求最大公约数,和欧基里德算法相比,效果更好: 主要思想如下: 化归思想 1.m为奇数时: (1)n也为奇数:gcd(m,n) = gcd((m+n)/2,(m-n)/2) ; (2)n为偶数: gcd(m,n) = gcd(m,n/2) ; 2.m为偶数时: (1) n也为偶数:gcd(m,n) = gcd(m/2,n/2); (2) n为奇数转载 2007-10-19 10:02:00 · 1573 阅读 · 0 评论 -
字符串技巧排序
排序Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2200 Accepted Submission(s): 537Problem Description输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行转载 2007-10-19 10:06:00 · 631 阅读 · 0 评论 -
整数分解之和最大问题(全分成3,少分成2)
/* 整数分解(版本2)一个正整数可以分解成若干个自然数之和。请你编一个程序,对于给出的一个正整数n(1例如n=10,则可以分解为2+2+3+3,乘积m=2*2*3*3=36 输入格式 Input Format 一个正整数n 输出格式 Output Format 输出分解的自然数的最大乘积m */ #include stdio.h>#define MA转载 2007-10-19 10:08:00 · 1346 阅读 · 0 评论 -
方阵填数问题(模拟法)
/*【基础】:方阵填数(easy)Time Limit:1000MS Memory Limit:65536KTotal Submit:226 Accepted:109 Description 在一个N*N的方阵中,填入1、2、…、N*N个数,并要求构成如下的格式 例: N=5 13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8转载 2007-10-19 09:27:00 · 2088 阅读 · 0 评论 -
质数和分解问题
/*质数和分解(normal)Time Limit:1000MS Memory Limit:65536KTotal Submit:178 Accepted:66 Description 任何大于 1 的自然数 n,都可以写成若干个大于等于 2 ,且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式:转载 2007-10-19 09:33:00 · 1029 阅读 · 0 评论 -
装箱问题(NOIP竞赛原题)(动态规划)
/*【2001年普及组4】装箱问题Time Limit:1000MS Memory Limit:65536KTotal Submit:512 Accepted:251 Description 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从m个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。 [样例] 输入: 24 一个转载 2007-10-19 09:36:00 · 3104 阅读 · 0 评论 -
求先序序列(NOIP竞赛原题)
【2001年普及组2】求先序排列Time Limit:1000MS Memory Limit:65536KTotal Submit:208 Accepted:99 Description 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。Input 一棵二叉树的中序与后序排列Output 先序排列Sample Input BADC BDCASampl转载 2007-10-19 09:37:00 · 1212 阅读 · 0 评论 -
拱猪计分(normal)
【模拟试题】:拱猪计分(normal)Time Limit:1000MS Memory Limit:65536KTotal Submit:39 Accepted:13 Description 拱猪是一种很有趣的扑克牌游戏。 即使你不知道它的玩法,你也可以由它的计分方式来了解它的趣味性。 假设在此我们仅考虑四个人的拱猪牌局,本题要求你根据下面的计分规则,在牌局结束时计算四位玩家所得转载 2007-10-19 09:13:00 · 2028 阅读 · 0 评论 -
最小公倍数与最大公约数问题(NOIP竞赛原题)
最小公倍数与最大公约数问题: 描述 Description 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P、Q的个数。 条件:1.P、Q是正整数 2.要求P、Q以xO为最大公约数,以yO为最小公倍数。 试求,满足条件的所有可能的两个正整数的个数。 /* 最小公倍转载 2007-10-19 09:38:00 · 2090 阅读 · 0 评论 -
求最大公约数,最小公倍数(C语言实现)
/* 程序:求最大公约数,和最小公倍数 时间:2007年10月8日 名称:maxandmin.c 方法: 1.先求出最大公约数,用辗转相除法 2.再通过最大公约数来求最小公倍数 3.min = (m/max)*(n/max)*max=(m*n)/max (说明:max为所求得的最大公约数,min为所求得的最小公倍数*/#include stdio.h>int main(voi转载 2007-10-19 10:04:00 · 833 阅读 · 0 评论 -
商人过河问题C语言源码.c
#include#include#include /*double pow(x,y)*/typedef struct S /*允许状态集合数据类型*/{ int x; /*商人数*/ int y; /*随从数*/ int boat; /*船位置标志0此岸,1对岸*/原创 2007-10-05 16:50:00 · 3986 阅读 · 1 评论 -
C/C++ 程序设计员应聘常见面试试题深入剖析
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很转载 2007-10-08 09:56:00 · 735 阅读 · 0 评论 -
嵌入式开发—C语言面试题
预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你翻译 2007-10-08 09:59:00 · 960 阅读 · 0 评论
分享