Cygwin在windows系统下编译Linux程序以及访问windows系统目录和软件

1. 前言

  Cygwin 是一个用于 Windows 的类 UNIX shell 环境。 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性;以及 Bash shell 的改写版本和许多 UNIX 实用程序,它们提供大家熟悉的 UNIX 命令行界面。前一个组件是一个 Windows 动态链接库 (DLL)。后一个组件是一组基于 Cygwin DLL 的程序,其中许多是用未经修改的 UNIX 源代码编译的。它们合在一起提供大家熟悉的 UNIX 环境。
  Cygwin 使用 Windows 安装程序。Cygwin setup.exe 文件可以重新安装软件,可以添加、修改或升级 Cygwin 配置的组件。
  Cygwin的安装请看下面博文,这里不再详细描述了:

http://jingyan.baidu.com/article/200957619b0c30cb0621b478.html

  下面主要描述一下它在windows系统上如何运行windows系统中程序,以及如何编译linux系统生成的程序。

2. 编译linux程序

  当然,安装Cygwin的最大好处是,能够在手头没有安装linux系统情况下编译linux程序,例如执行makefile来编译程序并在windows系统上执行程序。
  首先,打开Cygwin程序,我的是64位“Cygwin64 Terminal”,然后看到类似如下界面:

      这里写图片描述

  然后查找自己的主目录echo $HOME,我的主目录HOME是如下:

这里写图片描述

  打开Cygwin安装目录,你就会看到安装目录下HOME目录所在:

    这里写图片描述
 
  我的主目录是在home下面的FX子目录,Cygwin 软件是将其安装目录作为虚拟 UNIX 系统的根目录。当你编译对应的程序时候,就可以将程序放置在主目录下面,这样就可以无需cd命令进入其它目录再编译程序。
  一样,我们在主目录下用文本编辑器写一个Test.cpp实现Hello World输出功能的程序:

#include<iostream>
using namespace std;
int main()
{
    cout<<"Hello World!"<<endl;
    return 0;
}

  编译:

$ g++ Test.cpp
$ g++ -o Hello.o -cpp Test.cpp

  我们会发现前一句执行完成,目录下面会生成一个a.exe的可执行文件,很多人可能感觉好奇怪,为啥是windows的可执行文件扩展名?这里需要解释一下Linux下目标文件和可执行文件。
  Linux平台下,.o文件一般是通过编译的但还未链接的目标文件,.out文件一般都是经过相应的链接产生的可执行文件(linux下)。当然这是一般情况下人们这么设置,而真正的,在linux中 .o通常保存的是可执行代码 ,至于可执行文件则没有规定扩展名,用的是文件属性位来决定的是否可执行,在chmod中设置。所以可执行文件其实并没有一个规定的扩展名,只是依靠文件属性来区分。而Cygwin在该环境下只好生成和windows系统可执行文件扩展名相同的exe文件格式。
  后面一句就正常生成一个目标文件Hello.o文件在当前目录下,然后执行无论哪个文件都能正常输出“Hello World!”了。

./a
./Hello.o

  当然cmake和make就相似操作了,执行相应CmakeList和Makefile文件,其它命令和linux下一样,这里不再细说。

3. 访问windows系统下目录和软件

  正如上面说的,Cygwin 软件是将其安装目录作为虚拟 UNIX 系统的根目录。
  Cygwin 把安装目录中的子目录映射到 UNIX 目录。它以单独的卷的形式提供 Windows 驱动器,比如 /cygdrive/c。也就是说c盘主目录发生了一个映射关系的转变,由c: 转为/cygdrive/c,由此可以使用这样的虚拟路径启动 Windows 程序。例如打开IE浏览器,我们就可以执行下面的语句:

/cygwin/c/Program\ Files/Internet\ Explorer/iexplore.exe

  空格记得使用转义字符转义,不然执行语句认为空格是语句结束符“\0”。“\ ”表示空格。


个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!

转载请注明出处:CSDN 无鞋童鞋

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Windows下使用Cygwin编译Perl源码可以按照以下步骤进行: 1. 下载和安装Cygwin:首先,你需要下载并安装Cygwin。你可以从Cygwin官方网站(https://www.cygwin.com/)下载安装程序。在安装过程中,选择默认选项即可。 2. 启动Cygwin终端:安装完成后,打开Cygwin终端。你可以在开始菜单中找到Cygwin并点击打开。 3. 安装构建工具和依赖项:在Cygwin终端中运行以下命令来安装构建工具和Perl的依赖项: ``` apt-cyg install make gcc apt-cyg install libiconv-devel libintl-devel libncurses-devel ``` 4. 下载Perl源码:你可以从Perl官方网站(https://www.perl.org/)下载最新的Perl源码压缩包。 5. 解压源码:将下载的Perl源码压缩包解压到一个目录中,比如 `~/perl-source`。 6. 进入源码目录:使用Cygwin终端进入源码目录,比如 `cd ~/perl-source`。 7. 配置构建环境:运行以下命令来配置构建环境: ``` sh Configure -de ``` 这个命令将会配置Perl的构建环境,并使用默认选项。 8. 构建Perl:运行以下命令来开始构建Perl: ``` make ``` 这个命令将会开始编译和链接Perl源码。这个过程可能会需要一些时间。 9. 安装Perl:编译完成后,运行以下命令来安装Perl: ``` make install ``` 这个命令将会将编译好的Perl程序和相关文件复制到系统目录中,使其可以在任何地方使用。 完成以上步骤后,你就成功在Windows下使用Cygwin编译了Perl源码。你可以在Cygwin终端中运行 `perl -v` 命令来验证安装是否成功,并显示Perl的版本信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值