windows程序移植linux,windows移植linux
windows程序移植linux,windows移植linux
1,路径名统一用正斜杠“/”。(windows下正反斜杠都识别,linux只认正斜杠。)
2,vim中无法保存汉字时,可输入下列命令:
:set fileencoding=prc
:set encoding=prc
或者安装iconv,具体方法另查。(比较早的linux系统汉字默认编码为UTF-8,而windows默认是国标码GBK,因此windows程序中的汉字到linux会变乱码,反过来不会,windows一直可以自动识别汉字编码格式。)
3,linux链接sqlserver可以使用freetds开发包,编译时记得将做相应设置,以便找到libct.a和libsybdb.a,或者相应的动态库。(微软的sqlserver在linux下当然……)
4,养成使用条件编译的习惯。凡是linux独有的,加上
#ifdef _LINUX
……
#endif
可以在编译选项上加-D_LINUX参数。
避免头文件重复编译:
#ifndef _HEAD_
#define _HEAD_
#include ”head.h“
#endif
5,灵活使用命名空间
6,文件名不要用大小写区分,不要使用中文。(windows对字母大小写不敏感,会导致linux下以大小写区分的文件合并。)
未完待续……
Windows下:
编译成64位,除了指针和句柄变成64位以外,其余基本数据类型都不变。
Linux下:
/*******size of types on centos_x32*****************/
size of char:1
size of int:4
size of long :4
size of float :4
size of long long:8
size of double:8
size of long double:12
size of char * :4
/*******size of types on centos_x64*****************/
size of char:1
size of int:4
size of long :8
size of float :4
size of long long:8
size of double:8
size of long double:16
size of char * :8
程序的移植,就是改库...至于什么库,就要看你的程序用了什么库,要自己在windows下找来替代
函数名肯定不一样的,如果不是用到qt gtk 之类的跨平台类库,代码80%都要改动
评论暂时关闭