在Win98下编译开发的程序为什么不能在NT/2000下正常运行?

GreenStuff 2001-07-21 11:54:23
运行到是可以,但会出莫明其妙的错误.

1.没有NT/2000不支持的API
2.没有NT/2000不支持的底层VxD等技术

是不是NT/2000不是ASCII码搞的鬼?
...全文
161 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreenStuff 2001-07-22
  • 打赏
  • 举报
回复
非常感谢,那请问在NT/2000下开发的程序一定能在98下运行吗?(当然不用98不支持的API和底层什么的)
ghosert 2001-07-22
  • 打赏
  • 举报
回复
传说中的说法是这样的:WIN9X系统使用ASCII 8位编码,而WINNT系统从底层支持Unicode编码(一种ASCII的扩展编码16位)尽管WIN9X少部分支持这种编码,但是毕竟没有全部支持。所以大多数情况下,应该针对不同的系统开发相应的程序,可以在98的平台开发NT,但程序中要做相应的改变(可以参考MSDN)。并且关于这个问题的详细的阐述建议参看《WINDOWS程序设计》其中作者花费了大量笔墨介绍其中的区别,相信对你有所帮助。
GreenStuff 2001-07-22
  • 打赏
  • 举报
回复
我发现在进行字符串处理时会出错,例如:strText.Find("aaa"),在NT/2000下就不行,这是怎么回事?
cchuocp 2001-07-22
  • 打赏
  • 举报
回复
2000不支持VxD,如果你需要用到特殊的硬件功能,应该把它封装到一个库中。
你写的是那一类程序?对绝大数程序而言,是不需要考虑98和2000之间的区别的。据我所知在涉及到安全性和设备驱动之外的API调用几乎没有区别。事实上,许多要求是针对95的。为了程序更健壮,你更需要考虑的是各个库的版本,如IE,ODBC,OpenGL,DirectX等,而这些是与操作系统无关的。另外,在98和2000之下维持同一个程序几乎是必需的,分别写一套程序,太不可思议了!!!
xiaomin235 2001-07-22
  • 打赏
  • 举报
回复
使用WIN32 Release 选项编译程序。
ghosert 2001-07-22
  • 打赏
  • 举报
回复
NT/2000下开发的程序只要按照98系统的编码规则一律使用ASCII当然也没问题,其实程序开发和平台没有大的关系吧,只是方便调试,不见得要在98里写代码,在NT里调试吧?
ahphone 2001-07-22
  • 打赏
  • 举报
回复
这是常识了~~
strText.Find(_T("aaa")),
不过好象也有strText.Find(L"aaa"),

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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