浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char*str=(char*)malloc(100);char*str2=str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。...
分类:
其他好文 时间:
2014-11-29 20:10:57
阅读次数:
188
通常通过读写设备寄存器对设备进行编程,在X86系统上,有专门的IO指令进行编程,在其他诸如MIPS、SPARC这类系统上,通过将设备的寄存器映射到内存地址空间直接使用读写内存的方式对设备进行编程。 Radeon显卡提供两种方式对硬件进行编程,一种称为“推模式”(push mode)即直接写寄存...
分类:
系统相关 时间:
2014-11-29 08:24:23
阅读次数:
412
每种外设都是通过读写寄存器进行控制,这些寄存器的访问地址都是连续的。程序访问外部设备(ISA设备、PCI设备),要通过I/O端口或者I/O内存。ISA设备普遍使用I/O端口,而大多数PCI设备则把寄存器映射到某个内存地址区段。申请I/O端口通过函数request_region,对I/O端口进行操作是...
分类:
系统相关 时间:
2014-11-28 14:12:22
阅读次数:
187
c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。1、函数原型void *memcpy(void *dest, const void *src, size_t n);2、功能从源src所指的内存地址的起始...
分类:
其他好文 时间:
2014-11-27 23:37:25
阅读次数:
362
对于C/OC/C++程序员来说,输出一下所创建对象的内存地址,观察、分析或者单纯处于好奇心,都是很平常的事情。
然而对于将安全放在第一位的C#语言来说,这个“平常事”貌似并不那么直接。
本文对C#语言显示引用类型内存的地址的方法进行了封装,
并以System.String和StringBuilder两个类为例展示了他们的内存地址变化情况。...
1.const 和 define 异同 同:const 和 define都是修饰常量 异:const修饰的常量只是编译器的一种优化,它是可以通过内存地址修改const修饰的常量;而define修饰的常量任何方式都不能修改 2.int const a 和const int a 是一样的,都表...
分类:
其他好文 时间:
2014-11-24 18:45:38
阅读次数:
204
做地址对齐的代码:#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) //为了满足需要内存对齐的系统这段代码做的事情就是,给定一个变量n,算出这个变量对齐到某个字长(整型的字节数)整数倍的字节数。这段代码有些难以...
分类:
其他好文 时间:
2014-11-20 15:04:20
阅读次数:
218
1.在Python中,整数和短小的字符,Python都会缓存这些对象,以便重复使用。当我们创建多个等于1的引用时,实际上是让所有这些引用指向同一个对象。a = 1b = 1print hex(id(a))print hex(id(b))0x1e6e038L0x1e6e038Lid()可以获得内存地址...
分类:
编程语言 时间:
2014-11-19 12:22:25
阅读次数:
186
现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的.....
分类:
其他好文 时间:
2014-11-18 17:24:26
阅读次数:
186
浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char*str=(char*)malloc(100);char*str2=str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针..
分类:
其他好文 时间:
2014-11-17 12:35:49
阅读次数:
212