让c和masm混合编程不难,但是生成的都是exe文件。我想生成那种纯代码的DOS可执行文件,就是.com和.bin。
我试过很多种链接器,VC的link,Linux的ld,好像都不能输出.bin或者.com。
如果退而求其次的话,我希望生成的exe文件中不要有任何Win或者Linux系统自身函数库的调用,就是仅仅把我自己的程序汇编出来,不要有什么别的东西。
有人知道怎么做吗?用第三方软件可以实现吗?
------解决方案--------------------------------------------------------
dos 类的 .com 程序文件, 应该用 Masm5/6 + TC2.0 这样的组合吧. 现在的 vc 哪里还会支持 dos 类程序文件的创建
------解决方案--------------------------------------------------------
VC的link是32位的,保护模式下只支持平坦内存模式,.com文件属于微型内存模式,当然不支持了。
想要生成.com文件恐怕只有用16位的链接器,如RadASM汉化版中的doslnk.exe,另外在windows环境下生成的汇编可执行文件好像都至少要带一个Win32API的调用,就是ExitProcess,不然程序不能正常结束。
符合LZ要求的恐怕只有16位下的C编译器和连接器了。