易截截图软件、单文件、免安装、纯绿色、仅160KB

将Linux代码移植到Windows的简单方法(1)

一.前言
  Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的。Windows平台根本无法直接利用这些源代码资源。如果想要使用完整的代码,就要做移植工作。因为C/C++ Library的不同和其他的一些原因,移植C/C++代码是一项困难的工作。本文将以一个实际的例子(Tar)来说明如何把Linux代码移植到Windows平台上。移植过程将尽量少修改代码,以便代码的运行逻辑不会发生任何变动。保留绝大部分软件主要功能。
  二.准备工作
  Tar是Linux平台下面一个打包工具。移植这样一个程序到windows平台需要做那些工作呢?
  首先是一些准备工作,在Windows平台上面安装上Cygwin的最新版本,在Cygwin中安装好GCC等开发工具。 同样也需要一个 Windows开发环境。可以使用最新版本Visual Studio, Microsoft Visual Studio .NET 2003。从 www.gnu.org上取得Tar的最新源代码,版本是1.13。在Cygwin下面解开tar-1.13.tar.gz.源代码包。注意请不要在 Windows下面使用WINRAR或者WINZIP来解压缩。 WINRAR和WINZIP在解压缩某些tar.gz包的时候会有问题。使得解包之后的目录和文件出现异常。如果是源代码包将有可能不能在Cygwin下面正确编译。解开压缩包之后,进入 tar-1.13目录,在当前的目录下面输入
./configure
  命令,运行完毕之后,再次输入
make
  命令。开始编译tar的Cygwin版本。
  编译基本上不会有问题,进入src目录,可以看到新编译好的Tar程序tar.exe。
  Cygwin是一个API层的Linux模拟环境。如果能够在Cygwin下面编译,运行。实际上也就是能在Windows下面编译和运行,只是需要有一层中间API模拟某些Linux特有的操作。简单的判断一个Linux程序能不能移植到Windows平台下面,就是看是否能在Cygwin下面编译源代码,并运行程序。
  在Cygwin中编译Tar的源代码,判断能否移植只是其中一个原因。另外一个原因是移植代码过程中需要一个特殊的头文件config.h。config.h是移植过程中最重要的源代码文件。Config.h文件并不是源代码本身的一部分。文件是在Cygwin下面运行”./configure”命令时生成的。在Cygwin下运行”./Configure”命令时,会根据Cygwin平台开发环境生成 config.h文件。编译时也需要config.h文件对代码编译项进行控制。移植工作也以config.h文件为基础。
  接下来就是构造Windows工程。先用Visual Studio .NET 2003创建一个空的工程(Project),命名为WinTar。根据 Cygwin中的编译输出信息,


相关文档:

linux trap

trap [-lp] [arg] [sigspec ...] 当 shell 收到信号 sigspec 时,命令 arg 将被读取并执行。如果没有给出 arg 或者给出的是 -, 所有指定的信号被设置为它们的初始值 (进入 shell 时它们的值)。如果 arg 是空字符串, sigspec 指定的信号被 shell 和它启动的命令忽略。如果 arg 不存在,并且给出了 -p 那么与每个 sigspec ......

linux在线安装gcc


Fedora 8.0(linux)用RPM安装gcc
前一阵装了一个Fedora 8.0,居然将gcc选项没选,现在想在Linux环境下调试c程序,只有再安装gcc编译器。在Fedora 8.0安装的源文件中,找到Package文件夹,里面安装gcc编译器的文件,Fedora 8.0的gcc 是version 4.12 (20070925)。
安装顺序:
(1)rpm  -ivh  kernheaders-2.6 ......

Linux 守护进程的编程方法

      Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。守护进程是生存期长的一种进程,它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 ......

linux 知识

1、Linux系统下.ko文件是什么文件?.so文件是什么文件?
   .ko  -- kernel object,内核模块,可以在Linux内核起来之后动态的加载和卸载。 
.so  -- shared object,用户层的动态库 (于.a 对应),使用同一个.so的程序在运行时 
只需要该.so的同一份拷贝 ......

【转】Linux RedHat as 5 vsftpd 安装配置管理

安装rpm包
配置:
重起vsftpd服务:service vsftpd restart
启动vsftpd服务:service vsftpd start
1. 匿名服务器的连接(独立的服务器)
修改/etc/vsftpd/vsftpd.conf配置文件一下项,没有则添加:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes
(切换目录时,显示目录下.message的内容)
Loca ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号