« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
公告 |
本站技术贴除标明为“原创”的之外,其余均为网上转载,文中我会尽量保留原作者姓名,若有侵权请与我联系,我将第一时间做出修改。谢谢!
——既瑜 |
统计 |
blog名称:★既瑜★ 日志总数:183 评论数量:636 留言数量:-25 访问次数:1405948 建立时间:2005年3月12日 |
OICQ:215768265
njucs2001@hotmail.com
erichoo1982@gmail.com |
|
W3CHINA Blog首页 管理页面 写新日志 退出
[【技术文档】]内存管理 |
节选自《高质量C++编程指南》中的《内存管理》,并对其进行简单整理......
内存分配方式 ---------------------------------------------------------------------------------------------
内存分配方式有三种: --------------------------- (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 例如全局变量static变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储 单元自动被释放。栈内存 分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内存分配。程序在运行的时候用m
|
阅读全文(2347) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]标准MIDI文件格式 |
标准MIDI文件格式 达思挺·考德威尔
标准的MIDI文件格式就像奇异的兽。总体看来,它是那样的让你无法抗拒。当然,你怎样看它无关紧要,可是用足够多的描述符描述一段音乐并使它能够重现,可不是很少的工作就可以完成的。然而,它虽然复杂,但是真正理解之后,MIDI文件格式的结构还是很直观明了的。
在这里我必须放弃一些东西,因为毕竟我不是MIDI也不是MIDI文件专家!最近我为我的PC准备了一块Gravis 超音频音效卡,利用它听完几段MIDI文件(.mid)之后,想:“呵,我要是能够制作自己的MIDI(.mid)文件该多好啊!”嗯,经过烦人的几个小时之后,我发现,那些并不是没有价值的工作。但是,我是不会让一个冗长的文件格式就能够阻止的(此外,我告诉过我的妻子,计算机不是很难用的,而且我十分憎恨当一个伪君子)。那么,在这篇文章中如果发现什么错误,请让我知道,我会修改它的。同时,这份文档的范围并没有提供所有类型的MIDI命令和任何可能的文件配置!这篇基本指南将使读者能够(以中等的时间投资)制作出MIDI类型的文件。
1.概述
|
阅读全文(2835) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]用大数相乘算法实现求一个有小数位的数x的n次方 |
/****************************************/ /*程序 pku1001*/ /*作者: S.Klaus */ /*日期:2005-7-5*/ /*调试:VC6*/ /****************************************
****************************************/
/*头函数 */ #include<iostream.h>
#include<iomanip.h> #include<stdlib.h> #include<string.h>
#define max 10000 /***************************************/ int xn(char fnum[],int n); int fmul(char s1[],char s2[]); /******
|
阅读全文(3355) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]数组、结构、指针混用实例及疑难解决过程 |
#include <stdio.h>
#define MAX 4
//定义part结构 struct part{ short member; char name[10]; }data[MAX] = {1,"smith", 2,"jones", 3,"adans", 4,"wilson" };
//定义指向结构的指针 struct part *pPart;
int main(void) { int count; //给结构指针赋值,把数组的第一个元素的地址赋给结构指针
|
阅读全文(3713) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]C++的缺点之const的表里不一[转载] |
我曾经坚信const是可靠的......
但是看过<<COM本质论>>后,我开始怀疑C++真的不是二进制级约束,而只是语言层面的约束;C++只是喜欢"守规矩"的用户......
我前几天碰到这件事:同事找我说发现了问题但不知道为什么,什么问题呢?他是这样写的:
1.某H文件:
extern unsigned int ID;
unsigned int GetNewID(unsigned int&);
const unsigned int MSG_1 = GetNewID(ID);
2.某CPP文件:
unsigned int ID = 0;
unsigned int GetNewID(unsigned int& uiID) {
return ++uiID; }
3.在两个C
|
阅读全文(5467) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]C++指针直接调用类成员函数探讨(转载) |
在编程工作中常会遇到在一个“类”中通过函数指针调用成员函数的要求,如,当在一个类中使用了C++标准库中的排序函数qsort时,因qsort参数需要一个“比较函数”指针,如果这个“类”使用某个成员函数作“比较函数”,就需要将这个成员函数的指针传给qsort供其调用。本文所讨论的用指针调用 “类”的成员函数包括以下三种情况:
(1).将 “类”的成员函数指针赋予同类型非成员函数指针,如:
例子1
#include <stdlib.h>
typedef void (*Function1)( ); //定义一个函数指针类型。 Function1 f1;
class Test1 { public: //…被调用的成员函数。 void Memberfun1( ){ printf("%s \n","Calling Test3::Memberfun2 OK");}; // void Memberfun2() { f
|
阅读全文(4418) | 回复(1) | 编辑 | 精华 | 删除 |
[【技术文档】]用VC编制DLL程序的方法小结 |
作者: 赵永华 出处: yesky
DLL指的是动态链接库(Dynamic Link Library),它是一个可以被多个应用程序(甚至是不同语言编写的应用程序)同时调用的可执行二进制文件,是一个可共享的库。DLL是建立在客户/服务器通信的概念上,包含若干函数、类或资源的库文件,函数和数据被存储在一个DLL(服务器)上并由一个或多个客户导出而使用,这些客户可以是应用程序或者是其它的DLL。显然,DLL是VC职业程序员的必修课,因为在开发商业化软件中,总是要将应用程序分成多个模块化DLL,以便于调试、链接和维护。
在VC 6.0中的MFC可以支持三种形式的DLL,包
|
阅读全文(2643) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]指针引用非法地址,理解指针含义 |
程序很短,方法和思想值得一看!
程序1:
#include <iostream> using namespace std; void main() {
int b = 2100;//跟踪得到变量b的地址为0x0012ff7c int *a; a = (int *)0x0012ffff;//赋值为b变量地址附近的某个地址(经测试前四位和其相同一般都可以) //,增加地址允许访问的概率性。 cout<<*a; }
可以看出通过此等转换,指针可以访问任何此进程有访问权限的地址。利用此种方法就可以神不只鬼不觉地修改某些变量的值如下程序:
程序2:
#include <iostream> using namespace std; void main() {
int b = 21
|
阅读全文(3165) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]身份证号码15位升18位(C#) |
身份证18位验证
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。GB11643-1999《公民身份号码》主要内容如下: 一、范围 该标准规定了公民身份号码的编码对象、号码的结构和表现形式,使每个编码对象获得一个唯一的、不变的法定号码。 二、编码对象 公民身份号码的编码对象是具有中华人民共和国国籍的公民。 三、号码的结构和表示形式 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 2、地址码 表示编码对象常住户口
|
阅读全文(4295) | 回复(1) | 编辑 | 精华 | 删除 |
[【技术文档】]C++指针探讨——函数指针(转载) |
在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易。而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段,不能不好好认识一番。
接下来,我们就讨论一下函数指针。 2 常规函数指针(难度: 3) void(*fp)(); fp 是一个典型的函数指针,用于指向无参数,无返回值的函数。 void(*fp2)(int); fp
|
阅读全文(3655) | 回复(1) | 编辑 | 精华 | 删除 |
|