当前位置: 技术问答>linux和unix
老问题,C/汇编混合编程,使用Nasm与gcc,生成Raw Binary目标格式,系统程序员高手请进!!!
来源: 互联网 发布时间:2015-11-08
本文导语: 这算是一个老问题,是如何进行C/汇编混合编程的问题。 问题的提出: 我在学习操作系统的过程中需要做一些实验,来练习如何控制一台裸机,以便更好地理解计算机的工作机制,但是编写OS内核需要生成原始二进...
这算是一个老问题,是如何进行C/汇编混合编程的问题。
问题的提出:
我在学习操作系统的过程中需要做一些实验,来练习如何控制一台裸机,以便更好地理解计算机的工作机制,但是编写OS内核需要生成原始二进制格式代码,这需要用到混合编程的技术,一些基本技术我虽然了解,但是链接时仍然不能出错了。
编译器:
汇编我选择了NASM编译,C语言使用GCC/TC编译,链接程序用什么更好呢? 在DOS下我用过Tasm,请教一下诸位高手,有没有更好更合适的搭配组合?
我当时用nasm+TC+Tasm,但是链接不上,应该可以排除语言方面的问题,我猜测是不是Obj文件格式不兼容?未可知,我对这个完全没有了解,希望能到诸位大侠指点迷津,
万分感谢!
问题的提出:
我在学习操作系统的过程中需要做一些实验,来练习如何控制一台裸机,以便更好地理解计算机的工作机制,但是编写OS内核需要生成原始二进制格式代码,这需要用到混合编程的技术,一些基本技术我虽然了解,但是链接时仍然不能出错了。
编译器:
汇编我选择了NASM编译,C语言使用GCC/TC编译,链接程序用什么更好呢? 在DOS下我用过Tasm,请教一下诸位高手,有没有更好更合适的搭配组合?
我当时用nasm+TC+Tasm,但是链接不上,应该可以排除语言方面的问题,我猜测是不是Obj文件格式不兼容?未可知,我对这个完全没有了解,希望能到诸位大侠指点迷津,
万分感谢!
|
What you need to do is update your Makefile accordingly and let compiler compile c/c++ asm code, linker only links object file.