讨论:应用程序的系统无关性 Win2000+VC6.0进行开发,如何使开发出来的应用程序适合所有系统平台。愚笨的问题,希望各位大侠踊跃发言。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所有系统平台??不可能的!只适合Windows平台! 跨平台开发,不容易实现。该用JAVA吧! 1.使用平台无关的 GUI 库,比如 gtk+ qt, wxwindows 等2.使用平台无关的支撑类库,比如 boost 等然后就差不多了BTW, 我现在就这么做的 他可能指的是window的所有不同版本吧:) 声明一下,不只是Windows的所有版本,包括其他操作系统 您只要看看COM为了实现通用性,做出了多么大的努力。就能想象要跨平台是多么困难,更不要说所有平台.要跨平台,(1)您不能用任何特定平台的API, 例如 PostMessage();(2)您不能对硬件做任何假设 例如,您不能假设程序总运行于RAM而不是ROM中(3)您不能假设0x1234在内存中是 0x34 0x12,它可能是 0x12 0x34........如果您确实十分需要跨平台,我只能说:“快去学用Java吧!”虽然它也不是100%跨平台,但比VC(包括所有C++)好的多。 基本上你的程序不可能不掉用Win32 API所以别想跨出Windows世界 想跨平台那就用JAVA~这就是SUN用以和MS抢饭吃的资本…… 基本上很难,有些和平台无关的算法(信号编解码等),可以实现跨平台,但是象涉及gui,网络协议,数据库等,肯定要涉及具体的平台,但是一个应用可能涉及很多方面,因此,最重要的是注意功能模块的划分.自己把可能跨平台的模块划分出来,因此有些东西可以用std c/c++ 有些可以用平台相应的sdk,但是要想一个应用跨平台,确实很难,除非是那种 "hello world\n" 的程序. 楼上说的对如果真的要有跨平台的话那一定是解释程序(解析器与平台相关----即解释库),至少是半解释程序(伪编译或部分编译),所有有要用到系统的地方让解析器去处理平台无关性Java就是一种(好像还是有平台局限性)所以,如果说一个完整的平台无关软件应该包括开发程序及相应每种平台的解板库哈哈,大概是半个操作系统吧! 呵呵,看来只能让这东西拥有自动重编译能力了对了,还需要自动修改代码/选择代码编译,以适应不同平台的功能需求,哦,不同系列处理器怎么办?还应该能自动选择编译器,faint... 遍历子目录的问题啊,速来解决,在线等,送分~~~~~~~~~~~~ 客户区重绘闪烁 vs2003 BEGIN_TEMPLATE_MESSAGE_MAP定义 数据读取问题 vc弹出对话框的问题 CString string MDI客户区窗口处理它的消息的函数是什么? 高分求NURBS曲面相交方面的资料详细一点的,最好有事例! 50分问:如何编程来禁用网络适配器,就像win2000中的禁用作用? 多线程编程 我的程序出现如下情况,高手帮忙解决! 在什么控件中可以动态的绘图?
2.使用平台无关的支撑类库,比如 boost 等
然后就差不多了BTW, 我现在就这么做的
做出了多么大的努力。
就能想象要跨平台是多么困难,更不要说所有平台.要跨平台,
(1)您不能用任何特定平台的API,
例如 PostMessage();
(2)您不能对硬件做任何假设
例如,您不能假设程序总运行于RAM而不是ROM中
(3)您不能假设0x1234在内存中是 0x34 0x12,它可能是 0x12 0x34
........
如果您确实十分需要跨平台,
我只能说:
“快去学用Java吧!”
虽然它也不是100%跨平台,但比VC(包括所有C++)好的多。
这就是SUN用以和MS抢饭吃的资本……
如果真的要有跨平台的话那一定是解释程序(解析器与平台相关----即解释库),至少是半解释程序(伪编译或部分编译),所有有要用到系统的地方让解析器去处理平台无关性Java就是一种(好像还是有平台局限性)所以,如果说一个完整的平台无关软件应该包括开发程序及相应每种平台的解板库
哈哈,大概是半个操作系统吧!
对了,还需要自动修改代码/选择代码编译,以适应不同平台的功能需求,
哦,不同系列处理器怎么办?还应该能自动选择编译器,
faint...