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下程序移植到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
 

怎将Linux下的程序移植到Windows下运行,需要做什改变,例如库的加载等等

程序的移植,就是改库...至于什么库,就要看你的程序用了什么库,要自己在windows下找来替代

函数名肯定不一样的,如果不是用到qt gtk 之类的跨平台类库,代码80%都要改动
 

相关内容