Aan*_*Aan 28 .net c# c++-cli marshalling
可能重复:
为什么编组的概念被称为这样?
为什么两种类型之间的转换称为编组!背后是什么意思Marshal
,为什么我们不只是使用这个词convert
,是否有任何区别.请尽量保持简单的英语.
Eti*_*tel 43
因为它不是一回事.
来自维基百科:
在计算机科学中,编组(有时拼写编组,类似于序列化)是将对象的存储器表示转换为适合于存储或传输的数据格式的过程.它通常在数据必须在计算机程序的不同部分之间或从一个程序移动到另一个程序时使用.
Jon*_*eet 32
通常,当你穿越某种边界时,会使用"编组"这个词.三个明显的用例:
Control.Invoke
或类似的东西,那称为将委托调用编组到另一个线程; 所以在这种情况下,线程就是边界与不涉及这样的边界平原的转换被称为只是转换.
关于在这里使用"marshal"这个词的原因,请参阅Etienne的回答.
Eri*_*sch 32
Marshal这个词来自军事术语.比如元帅将军队移到其他地方.从字典:
按顺序安排; 有条不紊地出发; 安排清楚:
- 整理事实; 整理一个人的论点.
- 阵列,战斗.
- 领导或领导隆重:他们的主人把他们带到了房间里.
两种类型之间的转换不称为编组.
Marshaling正在移动存储空间之间的对象,例如不同的进程,不同的计算机或不同的COM公寓.通常需要序列化,以创建不使用在其他内存空间中无意义的指针的可移植编码,并且在序列化期间类型更改,但类型转换和编组是正交概念.特别是,编组简单类型(如int
和double
/或其结构)可以通过简单的复制而不进行转换来完成.
归档时间: |
|
查看次数: |
7439 次 |
最近记录: |