Assembly 如何知道什么';那是存根吗?

Assembly 如何知道什么';那是存根吗?,assembly,rmi,mips,corba,stub,Assembly,Rmi,Mips,Corba,Stub,在编写程序时,存根的含义是否总是相同的 存根为对象、方法或对象提供替换实现 函数以删除外部依赖项。存根为 通常在单元和组件测试期间使用。如果您试图 编写单元测试并需要替换对数据库的简单调用, 外部库(如文件I/O)或其他系统API、存根 可能非常适合您的需要。” 我以为存根和骨架只存在于CORBA中,但这里有一个存根,这是相同的东西/概念吗?当单词“stub”出现在相当不同的编程模型中时(RMI和MIPS可能是2个相当不同的),一个连接或一个连接都有称为“stub”的概念/事物,我也知道对于RM

在编写程序时,存根的含义是否总是相同的

存根为对象、方法或对象提供替换实现 函数以删除外部依赖项。存根为 通常在单元和组件测试期间使用。如果您试图 编写单元测试并需要替换对数据库的简单调用, 外部库(如文件I/O)或其他系统API、存根 可能非常适合您的需要。”

我以为存根和骨架只存在于CORBA中,但这里有一个存根,这是相同的东西/概念吗?当单词“stub”出现在相当不同的编程模型中时(RMI和MIPS可能是2个相当不同的),一个连接或一个连接都有称为“stub”的概念/事物,我也知道对于RMI/CORBA,有一种称为骨架的东西,但也可能有一个没有骨架的存根,或者什么

例如,当main被转换为assembly时,它在这里被称为stub,是否存在到存根和骨架的连接,这些存根和骨架在网络编程(如CORBA)中使用,还是没有连接,尽管两者都被称为存根

movia r8,stub # source
movia r9,0x800020 # destination
ldw r10,0(r8) # read
stw r10,0(r9) # write
ldw r10,4(r8) # read part 2
stw r10,4(r9) # write
ldw r10,8(r8) # read jump
stw r10,8(r9) # write
... # initialize others
上面的代码是存根的示例吗?如果是的话,什么是骨架或不适用


谢谢你的信息

CORBA和RMI存根是一个非常特定的对象,在本地表示某个远程对象。此对象存在于服务器端,存根存在于客户端。存根实现相同的接口(具有相同的工作方法),将所有调用转发到远程对象,同时接收返回的结果和异常。存根类通常是自动生成的


存根通常有不同的含义(只完成了一半,通常只足以使代码编译但不能正常运行)。

它是一个非常通用的编程术语。看看维基百科的文章:我不知道是否有一个真正的定义,但上面的东西闻起来像个存根。同义词可以是包装器。存根是一个通用术语,不特定于任何语言、平台或环境。您引用的通用定义几乎涵盖了它,出于测试目的,甚至是为了分发某些东西,您可以使用存根来关闭一些您没有真正使用或想要伪造的悬挂接口,以便它不会干扰,或者正如您引用的定义中所述,测试接口。