转windows下程序向linux下移植实践

转windows下程序向linux下移植实践

ID:30940742

大小:107.00 KB

页数:13页

时间:2019-01-04

转windows下程序向linux下移植实践_第1页
转windows下程序向linux下移植实践_第2页
转windows下程序向linux下移植实践_第3页
转windows下程序向linux下移植实践_第4页
转windows下程序向linux下移植实践_第5页
资源描述:

《转windows下程序向linux下移植实践》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、转Windows下程序向Linux下移植实践(转)Windows下程序向Linux下移植实践2010-04-2610:29Windows下程序向Linux下移植实践2005年2月【摘要】根据zxmsSO项目的会议调度模块移植的经验,本文提岀了Windows平台上程序向Linux下移植所碰到的一些典型问题,并举例给岀了相应的解决方法,文中述描述了使用pwlib库时makefile文件的编写方法,该方法也适用丁-不使用pwlib库开发时的一般情况,供要进行移植的同仁参考之用。一、问题的提出在程序员中有这样一个说法,若一个程序不能移植到Linux下,那这个程序将看不到未來。

2、由于Linux操作系统源码公开是的,开发库等辅助工具都是源码公开的,这样就减少了程序的不可预知性,而且出现错误可以大家一起修正、完善,而Windows平台下所有的操作系统Api就给了个接口,即使出现莫名奇妙的错误也只能望着接口兴叹了。再加上Linux操作系统本身和它上面的许多工具软件是免费的,更是吸引了更多的公司和程序开发人员将程序开发转向Linuxo在程序跨平台的移植过程中,将存在操作系统API的不同、文件名大小写识别不同、路径分隔符不同、不同开发平台数据类型的不一致等较一般性的问题。对于这些一般性的问题怎样很好的来解决呢?Linux下的工程都是使用makefile

3、文件来管理的,怎样编写出相应的makefile文件呢?这些问题都是本文后而将要阐述的。二、解决思路本文撰写的目的是为了提供Windows平台上程序向Linux下移植所碰到的一些典型问题及相应的解决方法,供要进行程序平台移植的同仁参考之用。文中还描述了使用pwlib库时makefile文件的编写方法,对于使用了pwlib库进行开发的程序能快捷的建立makefile工程文件,避免了自己手动书写makefile的繁杂工作。特别是3.2.6可以移植的数据类型一节中对于不同开发平台数据类型的不一致提出了一个简捷通用的解决方法,不用修改源程序中任何代码即可在Linux下使用Win

4、dows开发平台上的一些数据类型。三、实践情况3.1.Makefile的编写Linux下一般都是使用make工具来管理和编译一个大的开发工程的所有源文件,niQkc命令执行时,需要一个Makefile文件,以告诉niQkc命令需要怎么样的去编译和链接程序,makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,其至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其屮也可以执行操作系统的

5、命令。在Windows的一些IDE如VC中将自动帮你生成相应的makefile,所有这些都是透明的,但在Linux下你就不能不自己写makefileT,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。make工具采用增量编译的方式,每次只编译被改动过确实需要编译的源文件,每次编译时makcl具将自动判断那些源文件需要重新编译,当一个工程很大而又只改动了很少的几个源文件,这将节省很多时间。具体makefile文件的编写规则可以查看make的man和info文档(在Linux命令行方式下输入:manmake或infomake)。makefile

6、文件的编写规则很多,重要的是怎样使用最简单的方式写出我们自己需要的makefile文件。网上也有很多介绍资料,网上有一篇很好的介绍makefile文件编写的文章:下文将着重介绍使用pwlib开发库的工程的makefile的编写,但对丁•其它工程只需将common,mak文件中对pwlib库进行编译的脚本去掉也可适用。3.1.1使用pwlib开发库的工程的makefile的编写PWLib是PortableWindowsLibrary的缩写,翻译为轻便的Windows类库.PWLib采用C++编写,设计初衷是为了能让0penh323在Windows和Unix的X-Wind

7、ows下运行,不过随着一步步的完善PWLib已经被跨平台的程序所广泛采用。查看Pwlib的主目录下/samplcs/hclloworld/目录下例子程序的makefile文件可以发现该Makefile文件内容如下:^SimplemakefileforthehelloworldprogramPROG二helloSOURCES二hello,cxxifndefPWLTBDTRPWLTBDTR=$(HOME)/pwlibendifinclude$(PWLIBDIR)/make/ptlib.mak#EndofMakefile实际上就是使用了Pwlib库的ptl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。