c语言论坛:关于接口问题
a)相互调用与内嵌汇编
就像VB可以调用C的DLL,而Java可以调用JNI接口的动态链接库一样,也不能说他们就是C。C内嵌汇编之后,也不能就说是汇编语言,然而却可以当作宏汇编。如果宏汇编家非要说C的这种方式不纯粹,那需要指出汇编代码也有因为汇编器太老而不得不写出DW 0x310F这种用伪指令写出的机器码的时候。既然如此何必苛求C的编译器能产生的指令集呢? 内联汇编当然可以是一种宏汇编形式。顺便提一下,用GNU C的同好,如果没有用过这种形式的操作,不妨一试:int register i __asm(“eax”)=1.0;

b) ABI
ABI就是Abstract Binary Interface。我们常说,C没有标准的ABI,而汇编有任意的ABI,从这点上讲二者是几乎一致的,不过这实在不能作为观点大概。
c) 标准输入输出
不小心拿了Ansi C和POSIX的东西来说事。不过真的有人打算用int $0x21来输出DOS字符串?那个字符串结尾的字符已经不能移植了。相比之下,就算缺少必要的二进制接口,(标准输入输出通常是文本,但是似乎可以是二进制的?),程序仍然可以通过标准输入输出通信。
本文来源 我爱IT技术网 http://www.52ij.com/jishu/1060.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
