分享
 
 
 

unix 2 windows 的C++程序移植的一些常见问题

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

unix 2 windows 的C++程序移植的一些常见问题

unix下的编译器我已经记不清楚了, 总之因为原来的程序是用makefile的形式编译的, 虽然VC也支持makefile的形式, 但是无论如何在给原来的unix的编译器用的

makefile文件是不可能直接给VC的编译器用, 而想去了解 makefile 文件的语法和如何实现相当的功能是一件吃力不讨好的事。所以我最后在VC下用了Win32 Console 程序的形式 来完成程序的移植工作, 当然用其它的形式如 MFC AppWized ...也是可以的, 反正对于每个程序员而言掌握方法以后,爱出什么招都无所谓。

常见问题1:

1 文件扩展名, 很奇怪? 大多数的编译器对.cpp 和 .c 文件的处理是不一样的,

但是也有例外时候, 所以有时你要把.c 的改成 .cpp来用。

2 #include "stdAfx.h" 加到 .cpp 文件的前面, 当然不加也可以, 你只要在

工程设置的地方说明一下该cpp文件, not using precompiled headers 或

Automatic use of precompiled headers;

3 模板类的应用, 一般模板类的实现代码需要写到.h 文件中,或在.h中include

.cpp 但这样对程序员来说会觉得很不舒服, 用 makefile 的方式可以解决这个

问题, 但是在VC下又不用makefile,就只有用以上的方法来修改改那些模板类

的代码了,顺便提一下用g++的编译器我也是觉得用在.h中include .cpp 的方法

好一些。

4 数据类型的冲突, 重定义, 在国外的大公司在写程序时一般都有这样的习惯: 定义

自己的数据类型, 如定 INT, DOUBLE, BOOL 等之类的数据类型,然后把这些定义放在 BaseType.h 之类的文件中, 然后在编程时都是用自己定义的数据来完成,我认为这是一个很好的习惯, 因为你很难预料你写的程序会在不同的平台上跑(16位机, 32位机, 64位机...),用不同的编译器,这样做增强了程序的适应性, 当然有时候这也会引起麻烦, 如BOOL不就是在VC中有定义吗?这类问题在知道问题所在以后就很容易解决了。

5 变量初始化, 如这样的代码 int* pInt(NULL), 要改为 int* pInt = (NULL);

等如此类的修改。

6 还有一种常见问题就是link过程中找不到定义或定位不到具体的实现代码之类的或重义的情况, 这样情况解决就看具体的原因了, 很没有什么一劳永逸的方法。

7 与特定的系统或其它的支持环境相关的方法调用, 这类问题的解决与移植程序要达到什么的目标有很大的关系, 有时可能很容易的解决了, 有时又很难解决。比如有关X11也就是关于 X Window的图形系统的,有一定的情况下可以用把X11库拷过来, 做一下compile 可以但是要做到 link 成功, 就不容易反正在VC下我是没有成功的把含x11应用程序link完成。

以上是我在以前的做移植的工作常见的一些问题, 对于前六种情况的处理非常容易,不花多少时间就可以处理完了,这种问题都是第一次处理的时候需要花些时间,以后碰到都是照旧的方法办就可以,第7种情况就有时就较难处理一些。 因为间隔时间较长可能还有一些内容已经忘了,另外可能还有更好的处理方法我不知道, 有什么不对的地方还希望大家多多指正。

梁 2001/05/15

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有