经官方查询,程序员编写程序时使用的地址是逻辑地址,是计算机用语。
一般来说,要成为一名合格的程序员,从开始培训到结束,至少需要半年到一年的时间。这么长的周期,才能够勉强成为一名合格的程序员,后期就需要大量的实践与练习,通过不同项目来提升自我能力,这就是一个终身学习的过程。
关键在于前者是PC机,后者是嵌入式系统。PC机与嵌入式系统的内存机制是不同的,PC机内存空间大,采取虚拟内存机制,每个进程拥有一段很大的内存地址空间。但它是虚拟的, *** 作系统为进程维护一张已申请的虚拟内存页面与物理内存页面之间映射关系的表,并根据虚拟内存的地址找到与之对应的真实物理内存的地址。每个进程可使用的内存页面实际上都是预先申请的,程序在运行时只有一部分内存地址可用,我们不能随意指定某一地址进行读写。
嵌入式系统有一部分使用虚拟内存,另外一部分使用非虚拟内存的实存储器管理策略,而且后者占绝大多数。实存储器对于内存的访问是直接的,它对地址的访问不需要经过地址转换,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。因此程序员可以直接指定某一物理地址,而不用担心它是否可用。
所以直接指定某一内存地址进行读写,在PC机上是不正确的,在使用实存储器的嵌入式系统上则可以。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)