- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 extern "c"
<br />由于使用c和c++编译函数时,其对函数的标记名称不同。<br />为了使c编译的函数能在c++中正常调用,必须添加 extern "c"的说明,表示它是用c编译的。<br />一般使用方法:<br />确定在函数属于哪个c函数库。添加头文件的方法如下:<br />#ifdef _cplusplus<br />extern "C"<br />{<br />#endif<br />#include <...h> (所在的头文件)<br />#ifdef _cplusplus<br />}<br /
2010-11-15 17:49:00 554
转载 托管代码
什么是托管代码? 托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段: 1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#) 2.托管代码编译为microsoft的平台专用语言。 编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。中间语言被封装在一个叫程序集(assembly)的
2010-11-12 14:18:00 4763 4
转载 预编译头"stdafx.h"
<br /><br /> 所谓的预编译头,就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的,不是.obj),这个文件就称为预编译头。文件这些预先编译好的代码可以是任何的C/C++代码--------甚至是inline的函数,但是必须是稳定的,在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。注意生成预编译头文件是很耗时间的。同时你得注意预编译头文件通常很大,通常有6-7M大。注意及时清理那些没有用的预编译头文件。<br />
2010-11-11 14:07:00 1774 1
原创 关于重载拷贝构造函数和赋值运算符
在C++中,下面三种对象需要调用拷贝构造函数: 1) 一个对象以值传递的方式传入函数体; 2) 一个对象以值传递的方式从函数返回; 3) 一个对象需要通过另外一个对象进行初始化; 如果在前两种情况不使用拷贝构造函数的时候,就会导致一个指针指向已经被删除的内存空间。对于第三种情况来说,初始化和赋值的不同含义是构造函数调用的原因。事实上,拷贝构造函数是由普通构造函数和赋值操作符共同实现的。 例如: int b = 6; int a = b; //
2010-11-10 17:42:00 2183 1
转载 关于void main(int argc, char *argv[ ])
main()函数常用的格式:main(int argc,char**argv)其中,argv为指针的指针,argc为整数。( char**argv or: char*argv[ ] or: char argv[ ][ ])下面给出一个例子来理解这两个参数的用法: 假设程序的名称为prog:1.当只输入prog,则由操作系统传来的参数为: argc=1,表示只有一程序名称。 argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog 2.当输入prog para_1,有一个参数,则由操作系统传
2010-11-09 14:49:00 4894 5
原创 0xcc
堆栈中的局部变量(包括指针)在明确初始化之前都用0x0cc进行初始化。这是编译器在作运行时检测用的,方便发现变量没有初始化、内存溢出的问题。 0xcc执行检测的原理: (1)变量:如果没有给它初始化,那么值就是0xcc。 (2)指针:或者说内存,初始时赋给地址0xcc。这是一块内核的内存,一般情况下不能被操作的,因此,当发现对地址为0xcc的内存进行操作,就说明是非法的,提示溢出。 0xcc输出成字符就是“烫烫...”,这就是为什么未初始化的内存总显示“
2010-11-09 14:00:00 2994
转载 注册表
<br /> 注册表是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。<br /> 当一个用户准备运行一个应用程序,注册表提供应用程序信息
2010-11-09 13:43:00 575
转载 Windows NT
Windows NT是基于OS/2 NT的基础编制的。OS/2是由微软和IBM联合研制,分为微软的Microsoft OS/2 NT与IBM的IBM OS/2。协作后来不欢而散,IBM继续向市场提供先前的OS/2版本,而微软则把自己的OS/2 NT的名称改为Windows NT,即第一代的Windows NT 3.1。Windows NT是纯32位操作系统,采用先进的NT核心技术。NT即新技术 (New Technology) Windows NT的两个版本分别是Windows NT Work
2010-11-09 13:40:00 816
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人