- 博客(128)
- 资源 (3)
- 收藏
- 关注
原创 如何实现文件关联
文件关联,网上资料不多,提供了两个简单的函数,使用方便。#include #include //---------------------------------------------------------------------------// 检测文件关联情况// strExt: 要检测的扩展名(例如: ".txt")// strAppKey: ExeName扩展名在注册表中的键值(例如:
2008-04-28 20:55:00
4256
转载 匈牙利命名法(Hungarian Notation)
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确 含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。据说这种命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己
2008-02-23 18:53:00
4414
1
原创 分形图形的生成(C++)
近日在网上看到一生成分形图形delphi程序,生成图形非常漂亮,所以改成了c++,并提高了生成效率.代码如下(原来的代码使用复数运算,考虑到效率,去掉了,但仍然保留在注释中)//此函数用来获取颜色,s在[0,1]之间,且颜色是连续的COLORREF GetColor(double s){ int r,g,b; if(s { g=int(255*s/0.25);
2008-01-19 14:18:00
6327
1
原创 c语言中长度为0的数组妙用
c语言中长度为0的数组妙用长度为0的数组在GNU C是可以使用的,在定义一个变长对象的结构体是非常有用的。请看下例。struct line {int length;char contents[0];};struct line *thisline = (struct line *)malloc (sizeof (struct line) + this_length);thisline->length
2008-01-06 16:34:00
5339
6
原创 SDK创建工具条
部分代码如下//创建工具条HWND CreateToolBar(HWND hWndParent){ HWND hWndTB; TBBUTTON tbb[4]; HIMAGELIST hImageList,hHotImageList,hDisableImageList; HBITMAP hBitmap; INITCOMMONCONTROLSEX icex; i
2007-12-20 15:54:00
3310
转载 C++ OpenMP并行程序设计
先来一个最简单的OpenMP并行程序,如果你的机器是双核的话就知道效果了//编译选项中加入/Qopenmp#include int main(int argc, char* argv[]){ #pragma omp parallel for for (int i = 0; i { printf("i = %d/n", i); } return 0;}
2007-11-03 20:36:00
5857
1
转载 英文简历中的常用语
Mature,dynamic and honest.思想成熟、精明能干、为人诚实。 Excellent ability of systematical management.有极强的系统管理能力。 Ability to work independent1y,mature and resourcefu1.能够独立工作、思想成熟、应变能力强。 A person with ability plus
2007-10-29 22:05:00
2929
原创 快速排序程序
#include /*功能:快速排序start表示起始位置指针,len表示要排序的长度无返回值*/void qiuck_sort(int *start,int len){ int k;//用作记录枢轴记录关键字 int *p1,*p2,*pkey;//p1,p2分别表示高位和低位的指针,pkey枢轴记录关键字指针 if(len { return; }
2007-09-24 13:28:00
3131
原创 最小二乘法程序
#include #include ////////////////////////////////////////////////////////////////////////////////////////// //矩阵结构体 struct Matrix { int m,n;//m为行数,n为列数 double **pm;//指向矩阵二维数组的指针 }; //初始化矩阵mt,并
2007-09-17 18:34:00
5593
3
原创 牛顿插值法
#include #include #include double cs(double f[],double x[],int n) { double s=0.0,t=0.0; int i,j; for(i=0;i { t=1.0; for(j=0;j for(j=i+1;j t=f[i]/t; s=s+t; if(i>n)break; } return s; }d
2007-09-17 18:32:00
3462
原创 追赶法解三对角阵方程组
//追赶法解三对角阵方程组Ax=b。 //n---方程组的阶数。 //a1,a2,a3依次为三对角阵的三对角。 //成功返回1,失败返回0。 int RunEq(int n,double *a1,double *a2,double *a3,double *b,double *x) { int i; double l; for(i=1;i { if(fabs(a2[i
2007-09-17 18:30:00
7273
2
原创 Guass消元法和Guass列主元素消元法解线性方程组
#include #include #include #define N 3 void Guass(double a[][N+1],double x[]) { double l[N]; int i,j,k; l[0]=1.0; for(i=0;i { if(fabs(a[i][i]) { printf("不能求解!/n"); return; } for(j=i
2007-09-17 18:28:00
3814
原创 快速傅立叶变换程序与反变换程序
///////////////快速傅立叶变换程序/////////////////////#include "stdafx.h" #include #define pi 3.14159265359 #define M 8////////////////取反函数////////////////////////// int rebit(int num,int p) { int i,rb=
2007-09-17 18:26:00
5766
3
原创 求解三次方程
采用方法:先用二分法求一实根(三次方程必有一实根),然后化为二次方程,用解析法求得另外两根(包括实根和虚根)#include #include #include #define eps 1.0e-8 //三次函数 inline double pow3(double a3,double a2,double a1,double a0,double x) { return ((a3*x+a
2007-09-17 18:22:00
3490
原创 三点高斯积分程序
//高斯积分程序,高斯积分具有计算速度快,精度高,能计算反常积分等优点#include #include #define PI 3.14159265static const double gp3[3]={-0.77459666924148338, 0.0 , 0.77459666924148338};//高斯点static const double gc3[3]={
2007-09-17 18:04:00
8065
原创 如何检测程序是否被调试
如何检测程序是否被调试,其实很简单,几行代码就行了,常应用于软件防破解等方面,但对于某些调试器而言无效(比如改进的OllyDbg--OllyICE)。下面是C+asm代码,大家可以试试。#include #include int IsDebugged(){ __asm { mov eax, fs: [30h] //获取线程环境块中对应的进程环境块的地址 m
2007-09-11 20:22:00
5900
原创 回溯法-经典问题C程序
回溯法的基本要点参见各算法书籍,这里给出两个简单运用的例子(数的全排列和八皇后问题)数的全排列(含递归和非递归)#include #define N 4void arrange(int rec[],int used[],int depth){ int i; if(depth>=N) { for(i=0;i { printf("%
2007-08-29 18:58:00
1774
转载 汇编代码优化
32位代码优化常识 原作者: Benny/29A 翻译改写:hume/冷雨飘心 [注意:这不是鹦鹉学舌的翻译,我尽量以我的理解传达原文的本意] 关于代码优化的文章实在太多了,遗憾的是大部分我都没有看,尽管他们就摆在我的床边(每当我要看的时候就忍不住打哈欠...嘿嘿).这篇文章较短所以翻了一下. 代码优化的含义: 代码优化的目标
2007-07-05 21:32:00
1635
翻译 用GDI+显示GIF动画的一个类
源码#pragma once#include #pragma comment(lib,"gdiplus.lib")using namespace Gdiplus;class GIFImage:public Image{public: GIFImage(LPCTSTR sResourceType,LPCTSTR sResource); GIFImage(const WCHAR *file
2007-07-05 14:25:00
2090
转载 在ring3下列举系统中已加载的驱动模块的信息
#include #include #include #include #pragma comment( linker, "/subsystem:console" )typedef LONG NTSTATUS;#define NT_SUCCESS(status) ((NTSTATUS)(status)>=0)/***************************************
2007-07-02 12:29:00
1285
原创 VC 对话框程序隐藏问题
VC 对话框程序隐藏问题VC 对话框程序运行即隐藏,看起来容易实现,但要完美的解决(很多办法都要闪一下才隐藏),可不是那么容易,要一点小小的技巧。添加成员int IsFirstShow;//可能你需要它开始运行时隐藏,而不是一直隐藏,如果你要它一直隐藏,这里就不要声明了。构造函数里加IsFirstShow=1;响应WM_WINDOWPOSCHANGING消息。添加代码void CSpyRegExe
2007-06-22 12:46:00
1652
转载 怎样用VC开发小体积程序
下面是用SDK编写的仅仅1.5kb的windows程序 //////////////////////////////////////////////////////////////////////////////////////////////////// //预处理 #include //使用了下面的预处理,编译连接时必须是 Release 方式,否则不能通过 //自定义程序入口,如果要优化,
2007-06-22 12:29:00
1625
原创 怎样开发控制面板程序(CPL程序)
怎样开发控制面板程序(CPL程序) CPL程序是动态链接库(DLL)的一种变形,只不过扩展名为.cpl、入口函数为CPlApplet()而不是DllMain()罢了,编写起来其实很简单。先创建一个dll工程,写下如下代码#include #include #include extern "C" __declspec(dllexport) long __stdcall CPlApplet(H
2007-06-22 12:24:00
3677
原创 内存整理(C/C++)
内存整理其实很简单,就用一个函数EmptyWorkingSet,对每个进程使用这个就可以了代码如下:#include #include #include #include #pragma comment (lib,"psapi.lib") BOOL test(){ HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
2007-06-19 20:55:00
3255
2
原创 摄像头控制
//VC-摄像头控制SDK源码#include #include #include #pragma comment(lib,"vfw32.lib")HWND ghWndCap ; //捕获窗的句柄 CAPDRIVERCAPS gCapDriverCaps ; //视频驱动器的能力 CAPSTATUS gCapStatus ; //捕获窗的状态 char szCaptureFile[] = "MYC
2007-06-19 19:23:00
1340
原创 C语言调用汇编语言的简单方法
C语言调用汇编语言的简单方法 首先我选择了编译器:VC++,masm来做这个实验内联汇编这里不做讨论创建一个asm程序,写下如下内容.386.model flat,stdcalloption casemap:none.codemadd proc C a,b mov eax,a add eax,b retmadd endpend编译得一obj文件创建一个c文件,把得到的obj文件添加进
2007-06-15 10:45:00
1837
原创 汇编语言调用C语言函数的简单方法
汇编语言调用C语言函数的简单方法首先我选择了编译器:VC++,masm来做这个实验。创建一个c文件,写下如下内容。int cadd(int a,int b){ return a+b;}用VC++将其编译成obj文件。然后创建一个asm程序,把得到的obj文件添加进来,写下如下内容。.386.model flat,stdcalloption casemap:noneinclude
2007-06-15 10:01:00
2047
转载 2000和xp下,隐藏进程
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Hide Process#include#include#include#de
2007-06-14 14:05:00
1193
原创 播放mp3的3种方式
播放mp3的3种方式1.使用Windows Media Player控件首先插入Windows Media Player控件,把该控件拖到对话框上。并将该控件命名为m_wmpplayer。void CMusicDlg::OnButton1() { // TODO: Add your control notification handler code here CString file
2007-05-22 16:00:00
2934
原创 C++中类设计中重要且容易忽视的问题
C++中类设计中重要且容易忽视的问题 大家考虑一下如下程序的输出结果#include class baseclass{public: baseclass() { fun();//这里是调用基类的fun还是派生类的fun? } virtual void fun() { printf("调用基类函数fun/n"); } voi
2007-05-22 15:28:00
1450
转载 看包装就能估算CPU的性能
面对各式各样的cpu,如何一眼看出一颗cpu的性能?下面介绍主流cpu的性能影响因素及综合性能计算公式1.主频 毫无疑问,相同类型的CPU,性能与主频成正比,而且基本是线性相关的。如3.6G的P4660性能比3.0G的P4630强大约20%。 2.架构 架构是影响同频cpu性能的最重要因素。当然,不同的架构适合不同的工作,如P4适合做视频工作,而AMD速龙则擅长游戏。在这里,我们取平均值,假设
2007-05-20 21:54:00
1246
原创 编程技巧搜集(3)
1.气泡提示int flag;BOOL CToolBallDlg::OnInitDialog(){......................................... // TODO: Add extra initialization here Flags = TTF_TRANSPARENT | TTF_SUBCLASS; ToolTip(GetDlgItem(IDC_BUTTON
2007-05-14 15:30:00
1503
原创 一个扑克牌网络游戏的例子(C++)
一个扑克牌网络游戏的例子 近来没什么事干,于是灵机一动,何不把自己经常玩的扑克牌游戏用程序实现呢?经过几天的努力,总算基本完成了,操作起来有点像QQ的斗地主,经测试在局域网上运行良好。由于以前没有做过游戏的开发,也没有参考这方面的代码,还是吃了一些亏,一面写一面设计,所以整体结构以及代码风格有些乱。现在把自己的一点不成熟的经验来说说,这里主要讲一下关键部分功能的实现,其它部分及其具体代码下载
2007-05-12 10:17:00
3922
1
原创 OpenGL中线框图的消隐
隐藏线消除使用深度缓存的2通道绘制的OpenGL实现:1. 禁写颜色缓存 glColorMask(0, 0, 0, 0);2. 启用深度测试 glEnable(GL_DEPTH_TEST); glDepthFunc (GL_LESS);3. 以多边形填充模式绘制对象,要使用多边形偏移(Pass1) glPolygonMode (GL_FRONT_AND_BACK, GL_F
2007-04-17 21:59:00
3769
1
转载 使用OpenGL实现三维坐标的鼠标拣选
一、简介(Introduction) OpenGL是一种比较“纯粹”的3D图形API,一般仅用于三维图形的渲染,对于特定领域的开发者(如游戏开发者)而言,如果选择使用 OpenGL进行开发,类似碰撞检测的机制就都需要自行编写了。但是由于鼠标在图形程序中的应用非常非常之广泛(例如现在已经很少有PC游戏能完全地脱离鼠标),OpenGL在图形库的基础上添加了选择与反馈机制(Sele
2007-04-14 10:44:00
6942
5
原创 WinXP程序删除自身的方法
大家都知道,一般的程序运行的时候,可执行文件本身是被操作系统保护的,不能用改写的方式访问,更别提在本身还在运行的时侯删除自己了。 网上流传了一些删除自己的代码,但基本上是在win9x的系统下才可行,2000/XP下这样的代码基本没有,因为window2000/XP对这方面进行修补。所以甚至有人放言,2000/XP(Ring3下)下不可能删除自己(当然不是采取批处理,也不是机器重启后删
2007-04-11 20:07:00
2116
2
转载 C++什么时候析构函数需要声明为虚函数
且看下面的例子Class Deriver: public Base { …; };Base *pb = new Deriver; Delete pb; //子类中含有需要释放的资源时, //如果没有声明virtual ~Base();则会造成内存泄漏. 在代码设计的时候,如果派生类有自己在heap中申请的空间,而且会用到派生类向基类的转化,那
2007-03-26 20:19:00
2266
原创 编程技巧搜集(2)
1.ComboBox中如何进行 动态查询(BCB)//---------------------------------------------------------------------------#include #pragma hdrstop#include //++++++++#include "Unit1.h"//------------------------
2007-03-22 13:56:00
2736
一个扑克牌网络游戏的C++源代码
2007-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人