最近在搞C\C++ 和汇编语言 的混合编程,如何讲2者在编译环境中连接起来。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近在搞C\C++ 和汇编语言 的混合编程,如何讲2者在编译环境中连接起来。相关的知识,希望对你有一定的参考价值。

我看了很多网上的高手都是说, 1 将汇编语言过程汇编为符合COFF 的obj 文件; 2在VC 编译环境下创建一个项目 3将汇编过程的obj 文件插入到VC 的项目中 4编译连接该项目,生成可执行文件 可是我是小白,完全不懂这4步怎么实现 还有嵌入式汇编,在VC6.0环境下该如何搞,新手诚信求教~ 拜谢。

参考技术A 详细的官方资料见masm
programmer's
guide
中的第12章
混合语言编程,网上有pdf版本,但有一些版本的无法显示图片,好好的看一下吧。
----------------------------------------
混合编程允许你把微软Basic、C、C++和FORTRAN的长处与汇编语言例程联合起来。这些语言中的任何一种都可以调用MASM例程,你也可以在汇编程序里调用这些语言中的任何一种。这实际上使混合语言程序可以使用所有高级语言库的例程。
MASM
6.1提供的混合语言特征类似于高级语言里提供的特征。例如,你可以使用INVOKE直接调用高级语言过程,汇编器为你处理参数传递的细节。你也可以使用H2INC把C头文件翻译为MASM的include文件,这在第20章的Environment
and
Tools里解释。
MASM
6.1的混合语言特征没有废弃旧的定义混合语言接口的方法。在大多数情形下,使用较早版本的MASM编写的混合语言程序可以在MASM
6.1里正确地汇编和连接(为了解更多的信息,见附录A)。
本章解释了如何编写高级语言模块可以调用的汇编例程,MASM如何调用高级语言例程。你应该已经理解你希望联合的语言,应该知道如何使用这些语言编写、编译和连接多模块程序。
本章仅覆盖了C、C++、Basic和FORTRAN的汇编语言接口,没有覆盖高级语言间的混合编程。此处的重点是微软版本的C、C++、Basic和FORTRAN,但相同的原则适用于其他语言和编译器。本章使用的许多技巧使用了第7章里的关于使用汇编语言编写过程,以及第8章的多模块编程的资料进行解释。

以上是关于最近在搞C\C++ 和汇编语言 的混合编程,如何讲2者在编译环境中连接起来。的主要内容,如果未能解决你的问题,请参考以下文章

Java和c语言的区别

C++和JAVA的区别是啥?

C++和JAVA的区别是啥?

请教一个qt与Matlab混合编程的问题

c语言else用法

keil4 下 c语言和汇编语言。混合编程的方法。