编程经验技巧 谈......
Templar1000
这个作者很懒,什么都没留下…
展开
-
VC6.0中一个比较好的DEBUG方法
在调试程序的watch窗口输入@err,hr,显示最近一个api的返回值 以后就不用int error = GetLastError()了 @eax,hr,显示寄存存eax的值原创 2005-01-26 15:14:00 · 1162 阅读 · 0 评论 -
游戏程序员成长
注:本文来自CSDN博客与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。 首先你要精通一门高级语言,转载 2011-09-27 21:47:26 · 613 阅读 · 0 评论 -
URLEncode应该如何实现
<br />在网络传输数据的时候,如果存在中文字符,不能直接进行网络传输,需要采用标准的URLEncode方法来进行传输,下面是采用了标<br />准SDK的方法来实现这样的功能<br />#define TOHEX(x) ((x)>9 ? (x)+55 : (x)+48)<br />void URLEncode(char* szIn, char** pOut)<br />{<br /> int nInLenth = strlen(szIn);<br /> int nFlag = 0;<br /> BYTE原创 2010-11-12 10:19:00 · 956 阅读 · 0 评论 -
堆栈溢出 - 入门篇
本讲的预备知识: 你应该了解intel汇编语言,熟悉寄存器的组成和功能。你必须有堆栈和存储分配方面的基础知识,有关这方面的计算机书籍很多,我将只是简单阐述原理,着重在应用。1:首先复习一下基础知识。 从物理上讲,堆栈是就是一段连续分配的内存空间。在一个程序中,会声明各种变量。静态全局变量是位于数据段并且在程序开始运行的时候被加载。而程序的动态的局部变量则分配在堆栈里面。 从操作上来讲,转载 2007-09-30 10:31:00 · 1068 阅读 · 0 评论 -
完善DOS程序的新尝试
虽 然Microsoft Windows 正 在 逐 渐 取 代DOS 而 成 为 新 的PC 标 准 操 作 系 统 平 台, 但 不 知 你 发 现 了 没 有, 不 管 是 愿 意 或 是 不 愿 意, 我 们 还 是 经 常 在Windows 和DOS 之 间 用“Alt+Tab” 来 回 切 换, 抑 或 是 在“Starting Windows 95... ” 时 别 无转载 2006-03-29 08:57:00 · 1258 阅读 · 0 评论 -
结构体对齐的具体含义(#pragma pack)
来自csdn的帖子:主 题: 探讨:内存对齐作 者: typedef_chen ((名未定)(我要骗人))等 级: 信 誉 值: 100所属论坛: C/C++ C++ 语言问题点数: 50回复次数: 1发表时间: 2005-04-02 22:53:27 朋友帖了如下一段代码: #pragma pack(4) class TestB { publi转载 2006-03-25 23:21:00 · 1515 阅读 · 0 评论 -
函数调用的几个概念:_stdcall,_cdecl....
1.左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,但不同的是函数名的修饰部分(关于函数名的修饰部分在后面将详细说明)。_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。2、C调用约定(即用__cdecl关键字说明)按从右至左的顺转载 2005-10-31 09:32:00 · 1332 阅读 · 0 评论 -
MFC浅析 - 对话框数据交换及验证
对话框的数据交换和验证机制(DDX、DDV)可以使对话框上控件与对象数据成员间协调工作。 包括控件窗口与控件对象间的连接,控件窗口与对话框数据成员间的连接,以及数据成员的合法性验证等等。 在 virtual void DoDataExchange(CDataExchange* pDX);中记录了这些关系: 例如: DDX_Control(pDX, IDC_BUTTON1, m_b转载 2005-10-20 21:25:00 · 1631 阅读 · 0 评论 -
volatile的含义
volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以死代码消除。但有时这些优化不是程序所需要的,这时可以用volatile关键字禁止做这些优化,volatile的字面含义是易变的,它有下面的作用: 1 不会在两个操作之间把volatile变量缓存在寄存器中。在多任务、中断、甚至set原创 2005-10-19 10:13:00 · 1371 阅读 · 0 评论 -
更改注册表的几个函数
一、定义 HKEY hKey;char content[256]; //所查询注册表键值的内容DWORD dwType=REG_SZ; //定义读取数据类型DWORD dwLength=256;struct HKEY__*RootKey; //注册表主键名称TCHAR *SubKey; //欲打开注册表项的地址TCHAR *KeyName; //欲设置项的名原创 2005-10-18 10:15:00 · 1100 阅读 · 0 评论 -
远程更改注册表
RegConnectRegistryThe RegConnectRegistry function establishes a connection to a predefined registry key on another computer.LONG RegConnectRegistry(LPCTSTR lpMachineName,HKEY hKey,PHKEY phkResult);Par原创 2005-10-18 10:55:00 · 1850 阅读 · 0 评论 -
Rundll32.exe使用方法大全
winexec(Pchar(StrCommand),sw_Show); 其中"StrCommand"代表以下命令之一(使用Windows中的运行不要加引号): "rundll32 shell32,Control_RunDLL" - 运行控制面板 "rundll32 shell32,OpenAs_RunDLL" - 打开"打开方式"窗口 "rundll32 shell32,ShellAboutA原创 2005-10-18 10:14:00 · 952 阅读 · 0 评论 -
Rich Edit 控件中的字符格式
可以使用 Rich Edit 控件 (CRichEditCtrl) 的成员函数格式化字符并检索格式信息。对于字符,可以指定字体、大小、颜色和粗体、斜体、受保护等效果。可以通过使用 SetSelectionCharFormat 和 SetWordCharFormat 成员函数应用字符格式。若要确定选定文本的当前字符格式,请使用 GetSelectionCharFormat 成员函数。CHARFORM原创 2005-10-21 08:56:00 · 1672 阅读 · 0 评论 -
Visual C++编程技巧
1. 如何获取应用程序的实例句柄? 应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用 AfxGetInstancdHandle获得句柄. Example: HANDLE hInstance=AfxGetInstanceHandle(); 2. 如何通过代码获得应用程序主窗口的指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用 AfxG原创 2005-10-18 10:59:00 · 942 阅读 · 0 评论 -
vc常用技巧
1: 得到系统时间日期(使用GetLocalTime)CString sTime,sYear,sMonth,sDay;SYSTEMTIME CurTime;GetLocalTime(&CurTime);sYear.Format("%d年",CurTime.wYear);sMonth.Format("%d月",CurTime.wMonth);sDay.Format("%d日",CurTime.wDa原创 2005-10-18 10:58:00 · 898 阅读 · 0 评论 -
修改网卡MAC地址
Win2000修改方法:1、 在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class{4D36E972-E325-11CE-BFC1-08002BE10318}/0000、0001、0002等主键下,查找DriverDesc内容为你要修改的网卡的描述的,如0000。下面的方法和rifter《修改MAC地址的范例》中提到的一样,我就照搬了原创 2005-10-18 10:57:00 · 1125 阅读 · 0 评论 -
PostMessage Or SendMessage
PostMessage只负责将消息放到消息队列中,不确定何时及是否处理 SendMessage要等到受到消息处理的返回码(DWord类型)后才继续 PostMessage执行后马上返回 SendMessage必须等到消息被处理后才会返回。原创 2005-08-29 10:42:00 · 1210 阅读 · 0 评论 -
转:可称1~40磅的4块砝码
法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:一位商人有一个重40磅的砝码,一天不小心将砝码摔成了四块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少?*问题分析与算法设计 题目中给出的条件是“在天平上”,这意味着:同一砝码既可以放在天平的左侧,也可以放在天平的右侧。若规定重物只能原创 2005-01-27 10:42:00 · 1860 阅读 · 0 评论