如何在 Turbo C 中将汇编代码包含在我的 C 代码中?
如何将任何汇编代码行包含到我的 C 程序中?
在 Turbo C 中,是否可以将汇编代码文件(.asm)添加到只有几个 .c 文件的项目中?
How to include any assembly code lines into my C program ?
In turbo c is there a possibility to add an assembly code file (.asm) to a project of few .c files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
包含汇编代码的一种方法是添加包装函数并将汇编代码写入 asm 块中,如下例所示:
One way to include assembly code is to add a wrapper function and write the assembly code in the asm block, as shown in the example below:
您可以使用 makefile 来定义不同目标类型的操作。 对于 C 类型(例如 foo.c),调用 C 编译器。 对于 ASM 文件,调用汇编器。 两者的输出都应该是一个目标文件(例如.o),它可以由链接器一起编译。
如果您有一点组装经验,请继续内联。 否则,我建议单独的模块和功能分解作为管理一切的最佳方式。 特别是如果您需要支持不同的目标(即跨平台开发)。
You can use your makefile to define actions for different target types. For C types (e.g. foo.c) have the C compiler invoked. For ASM files, invoke the assembler. The output from either should be an object file (e.g. .o) which can all be compiled together by the linker.
If you have a little bit of assembly, go ahead an inline. Otherwise, I recommend separate modules and functional decomposition as the best way to manage everything. Especially if you need to support different targets (i.e. cross platform development).
您还可以链接目标文件。 但内联汇编器更容易维护。
You can also link in the object files. But inline assembler is much easier to maintain.