个人观点:
1.tc编译的程序是按实模式编译的,vc编译的控制台程序仍然是按保护模式编译的
2.tc里面的库文件与vc使用的库文件有很大诧异(至少vc是不支持实模式下的相关操作,也无法处理中断)
3.tc生成的exe文件的代码其实地址可以是0x00000,而vc下面的生成的代码只能从地址0x8000000开始
4.在windows下运行tc生成的exe文件,需要在windows下的虚拟机环境中运行,而vc生成的exe文件是在实模式下运行的请大家补充或斧正,谢谢!
1.tc编译的程序是按实模式编译的,vc编译的控制台程序仍然是按保护模式编译的
2.tc里面的库文件与vc使用的库文件有很大诧异(至少vc是不支持实模式下的相关操作,也无法处理中断)
3.tc生成的exe文件的代码其实地址可以是0x00000,而vc下面的生成的代码只能从地址0x8000000开始
4.在windows下运行tc生成的exe文件,需要在windows下的虚拟机环境中运行,而vc生成的exe文件是在实模式下运行的请大家补充或斧正,谢谢!
解决方案 »
- ado远程连接Sqlserver数据库,如何处理物理中断的故障?
- 为什么我的http服务器程序中已经设置好了环境变量,但用C写的CGI得到的环境变量却是空的?
- 哪位高手能给个用VC6.0调用WebService的例子程序,非产感谢.
- 请各位大侠帮帮忙!!散分的!!!
- setsockopt的问题,急!!!!!!!!
- CFileDialg and Clipboard
- 如何在指定的内存空间域中来分配空间?
- 有什么办法可以截获某个特定NT服务状态变化消息?
- 请问如何在VC6.0中实现微积分计算? 急!
- (重庆)低价出售(C++ primer 第三版中文版,mfc windows 程序设计第二版,windows 程序设计第五版)
- 谁有数据库记录构建树节点的VC源代码
- 转分,HOHO
4.在windows下运行tc生成的exe文件,需要在windows下的虚拟机环境中运行,而vc生成的exe文件是在实模式下运行的
--------------------------------------------------------------------------------
这个tc生成的exe文件在win95、win98下试过了吗?
1:一个是16的DOS程序,一个是标准的32的Windows应用程序.前者依然受着64KB内存分段约束,后者无忧无虑地使用着4GB内存地址空间.它们本来就是运行在不同的操作系统上的.别把他们混淆.
DOS程序可以运行在windows上是因为有NTVDM.而你把VC生成的控制台程序放到DOS下只会得到!?This program cannot be run in DOS mode.
2:如果你是用标准库编写的话,代码应该没多大差异的.但执行时调用库方式却差天共地.前者通过API模拟出一个执行环境,后者是直接调用WIN32 API的.
3:TC里面编写程序确实是可以调用中断,可是这个中断不是直接执行的.是NTVDM提供的.在NT的世界里.ring3不太可能直接调用中断的.
4:VC6(早期版本就不知道了)不能编写DOS程序,只能编写控制台程序,注意,这只不过是Win32程序只使用控制台这个标准输入输出而已.控制台程序照样可以弹出个窗口,也可以有消息循环,窗口程序照样可以有个控制台.