什么是名字空间?地址空间?存储空间?(linux操作系统、越详细越好)

什么是名字空间?地址空间?存储空间?(linux操作系统、越详细越好),第1张

在用汇编语言或高级语言编写的程序中,是通过符号名来访问子程序和数据的。把程序中符号名的集合叫做“名字空间”。汇编语言源程序经过汇编,或者高级语言源程序经过编译,得到的目标程序是以0作为参考地址的模块。然后多个目标模块由连接程序连接成一个具有统一地址的装配模块,以便最后装入内存中执行。把目标模块中的地址称为相对地址,而把相对地址的集合叫做“地址空间”。

命名空间是Schema中引入的概念,为了解决DTD无法处理的“命名冲突”问题。为一个元素定义了Namespace则它的所有的子元素都会使用相同的Namespace。

模式文档可以被看做一个类型定义和元素声明的集合(词汇表),他们的名字被归属于一个指定的命名空间,这个命名空间称为目标命名空间。目标命名空间使我们能够从不同的词汇表中区分定义以及声明。

当我们想去检查一个实例文档是否与一个或者多个模式文档相符合(通过一个称为模式校验的处理),我们需要确定在模式定义中声明和定义的哪些元素和属性应该被用来检查在实例文档中的元素和属性。在这个处理流程中,目标命名空间扮演了一个非常重要的角色。

有时可能会有几种可选的方式来影响元素和属性的标识符如何在实例文档中表现。通过使用明确的或者默认的命名空间前缀,作者能够决定在实例文档中出现的局部的声明元素和属性是否必须通过一个命名空间的约束验证。为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。

通过将缺省命名空间设为目标命名空间的好处,其一是在不会引起歧义的情况下可以省略元素所属空间的前缀,可以减少很多不必要的麻烦。此外由于元素可以使用缺省的定义方式,在可能更改目标命名空间时不必大量的修改所有文件代码。

这是被引用的项目的目标程序(dll、exe 等)和引用项目的目标程序(dll、exe 等)不在同一个目录中:设置在同一目录中。或者被引用的项目的目标程序(dll、exe 等)不存在,请先编译被引用的项目。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/50657.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-25
下一篇2023-02-25

发表评论

登录后才能评论

评论列表(0条)

    保存