跨平台代码调试
在开发中,为了代码的重用,我们总是把核心算法同界面部分分开,
核心算法一般都用C来写,并且希望代码能在其他平台上编译和运行。在微软
平台上有VC,在Unix和一些嵌入平台(palm...)用gcc。假如代码编写好后再
移植,就够难受了。最好是写代码的时候就支持。假如在公司干,你可以多要
机器,一台装2000,一台装Linux,代码还得拷来拷去,或者用Telnet用服务器,
假如只有一台电脑,就惨了,装两个操作系统,重新启动,切换操作系统。
这里有个软件就可以解决这个烦恼,作到在windows下对同一份源码
用VC和gcc同时编译和调试,它就是cygwin。我用的是vc6.0,gcc2.95.2。
1,安装cygwin
首先安装cygwin,cygwin是cygnus.com的产品,到它的网站下载,
可以直接在网上安装,别忘了在安装时一定要选上gcc选项。
2,代码目录
我的代码目录是ZCore,下面是子目录,子目录Build里有两个子子目录:
VC和gcc分别保存VC的工程文件和gcc的Makefile;子目录Src是代码目录;
子目录Doc中是代码的Readme等说明(不习惯英文代码中出现中文注释),代码
要编译成静态库。VC的编译环境不用说了,我们来看如何建立gcc的编译环境。
Makefile要自己写了,我的cygwin中没有Makefile辅助工具。运行cygwin。
3,影射目录
我们首先将win32目录mount成posix目录,运行mount查看原来已经
mount的路径。我的ZCore的路径是:d:studyzcore,我想影射成/zcore,
命令是:"mount d:/study/zcore /zcore"。有个警告,不过没问题。现在
在用mount查看,就多了一条。这个信息保存在注册表
[HKEY_CURRENT_USERSoftwareCygnus SolutionsCygwinmounts v2/zcore]
假如要卸载就用命令"umount /zcore"。
4,gcc编译
用"cd /zcore/build/gcc"进到编译目录,make就可以了。
这样就可以用VC调试代码时同时用gcc编译,将来向其他环境移植就轻松多了。