分享
 
 
 

跨平台开发

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

1 引言

今天程序开发人员面临的最大问题就是如何使他们的应用程序支持各种不同的平台,如何使用户能够在不同的平台下不作任何修改地就能使用他们的应用程序。众所周知,Linux操作系统和其它基于UNIX的操作系统一直是国际上使用广泛又非常重要的OS(Operating system)。但在中国,微软的Windows OS却占领着巨大市场,如Windows95/98、Windows2000、Windows me等OS。

那么,基于Windows OS工作的程序开发人员在实际工作中,能否重新利用其它OS上的那些免费的代码资源呢?例如像Linux那样优秀而自由的丰富代码源。

本文针对这个问题,提出了两种在Windows OS下如何运行UNIX程序和GNU程序的途径,以避免开发人员在工作中重复开发,以提高工作效率。

2 在WINDOWS下运行UNIX程序的工具——Cygwin

UNIX自20世纪八十年代就已经成为学术界和研究机构所采用的主要操作系统,并开始扩展到商业界,当时就连大名鼎鼎的IBM PC都可跑UNIX。

2.1 什么是Cygwin?

Cygwin是Cygwin公司(http://cygwin.com/)的产品,它提供了Windows操作系统下的一个UNIX环境,它可以帮助程序开发人员把应用程序从UNIX/Linux移植到Windows平台,是一个功能强大的工具集。

Cygwin由两部分组成:

(1)cygwin1.dll:它作为UNIX的一个仿真层,提供UNIX API功能;

(2)一组工具:它的功能是负责创建一个UNIX或Linux的外观界面。

Cygwin动态链接库,即cygwin1.dll可以在Windows CE以外,Windows 95以上的所有非beta版本的Windows OS下工作,如Windows 98,Windows 2000等。

目前该软件的最新版本的Cygwin是1.1.x或1.3.x.可以从cygwin公司的网站上直接下载(http://cygwin.com/setup.exe)

2.2 Cygwin的功能

网络管理人员通过Cygwin可以很容易地远程登录到任何一台PC机,在UNIX/Linux外壳(shell)下解决问题。在任何一台Windows OS计算机上运行外壳(shell)脚本命令。高级外壳脚本命令可以用标准shell、sed和awk等创建。标准Windows命令行工具甚至可以与UNIX/Linux外壳脚本环境共同管理Windows操作系统。

2.3 安装Cywin

我们以Cygwin Net Release Setup.exe Version 2.125.2.10为例(http://sources.redhat.com/cygwin)

1) 双击“setup.exe”图标;

2) “Next”进行下一步;

3) 选择安装途径: 由Internet安装;

从Internet上先下载;

由本地目录下安装;

4) 我们选择从Internet上直接安装;

5) 选择安装的根目录,默认目录为:C:/cygwin;当然,也可修改为C:Program FilesCygwin

6) 缺省的文本文件类型为Unix,安装所有文件。

7) 按“Next”进行下一步,安装路径中一般不包括空格,安装文件位置:C:Documents and Settingslingli桌面

8) Internet连接方式

直接连接;使用IE5设置;使用HTTP/FTP代理。

9) 选择下载站点:ftp/http://cygwin.lirex.net

10) Downloading setup.ini connecting.

3 在WINDOWS下运行GNU程序的工具——MinGW

在介绍MinGW之前,有必要先介绍一下GNU,拼读时G是不发音的。在字典中的含义是非洲大羚羊,我们可以常常看到右边这个非常个性化的羊头图1,想必很多人已经非常熟悉。象征GNU那种追求自由的精神,GNU其实是Gnu'sNotUnix的缩写,它表示GNU系统与Unix不同,但是它是与UNIX兼容的一个软件系统。由RichardStallman创建,于1984年开始逐渐累积系统构件,于1996年发布"完整GNU系统"的第一个测试版本。与UNIX不同的是,GNU不需要购买,所有需要它的人都可以免费获得,这也是设计者的初衷,自由软件拷贝,自由软件共享。

图1

3.1 什么是MinGW?

MinGW,即Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用GCC(GNU Compiler C)产生Windows32程序。

该工具集的当前构成如图2:

在基本层,MinGW是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的NT OS上有效,在所有的Windows 95发行版以上的Windows OS有效,使用基本运行时间,你可以使用GCC写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的C运行时间扩展。该功能是Windows32 API不具备的。下一个组成部分是w32api包,它是一组可以使用Windows32 API的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用CRT(C Runtime)又使用Windows32 API功能。

4 结论

本文讨论了如何在WINDOWS下重复利用UNIX代码程序和GNU代码程序的问题,提出了两种在Windows OS下如何运行UNIX程序和GNU程序的途径。这意味着,基于Windows OS工作的程序开发人员在实际工作中,将能重复利用其它OS上的那些免费而丰富的代码源。避免开发人员在工作中重复开发,提高了工作效率。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有