菜鸟请教:纯DOS下如何用C/C++编译器编译32位代码?

POLOM 2003-06-30 04:42:50
我写了一个C程序,需要读写32位寄存器,如ECX,EAX等,其中如下使用
_EAX = 0x1234;
但是上面的代码在Borland C++ 3.1下编译不通过,原因是它不支持EAX 32位寄存器。
现在问题是我如何在纯DOS下用C/C++编译器编译这样的代码,请前辈指点~~~
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragon_lh 2003-07-04
  • 打赏
  • 举报
回复
borland C++3.1当然支持32位指令, 将options--complier--advacnce code generation
中指令系统改为80386.(缺省为8086指令,当然不支持32位寄存器的访问). 在程序里可嵌入32位汇编. _asm mov eax, 0x1234
加上编译指令 #praga inline让编译器自动识别汇编指令
danielxuao 2003-07-02
  • 打赏
  • 举报
回复
我不知道你要编译的是什么东东,不过是驱动的话,可以用ddk的编译器,就是在dos下编译的,到相应的目录下,输入build -cZ就可以编译了(需要有source、makefile等文件)
ArthurTu 2003-07-02
  • 打赏
  • 举报
回复
在www.driverdevelop.com不是问过了,而且你自己不是说通过了吗?
。。。
???
seaquester 2003-07-02
  • 打赏
  • 举报
回复
换一个编译器如:Watcom c/c++

21,619

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧