cygwin,在win中开发linux程序

第二章-Ethernet/IP基本概念 在I/O连接中,一旦连接建立,就不会有请求-响应数据,只会按照连接建立时指定的生产触发器所确定的时间间隔生产和消耗带有ConnectionID的数据。连接是通过连接管理器对象的Forward请求服务建立的,ForwardOpen请求包含所有连接参数,包括传输类、生产触发器、定时信息、电子密钥和连接ID。I/O适配器:I/O适配器从I/O扫描器接收隐式通信连接请求,然后以请求的速率生成I/O数据。I/O扫描器:启动与I/O适配器的隐式通信,需要处理连接的配置以及如何配置适配器。扫描器还支持启动显式报文。 阅读详情

一、cygwin是什么?
   这个问题你最好google一下"cygwin的历史",或许能够获得更为详尽的答案。简而言之,cygwin是一个在windows平台上运行的linux模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。插一句废话,很多朋友不明白linux和unix的区别和联系,在此也简要介绍一下。UNIX是一个注册商标,是要满足一大堆条件并且支付可观费用才能够被授权使用的一个操作系统;linux是unix的克隆版本,是由其创始人Linus和诸多世界知名的黑客手工打造的一个操作系统。为什么linux和unix之间有很多软件可以很轻松的移植?因为linux也满足POSIX规范,所以在运行机制上跟unix相近。  
   以下引用网上的一段话
用于说明cygwin的工作机制:cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。关于cygwin实现的更详细描述,请参考
http://cygwin.com/cygwin-ug-net/highlights.html

二、cygwin的安装。
  cygwin的安装文件很容易通过google找到。目前国内的网站上有"网络安装版"和"本地安装版"两种。标准的发行版应该是  网络安装版。两者并无大不同,下面介绍一下安装的过程。

  step1. 下载后,点击安装文件(setup.exe)进行安装,第一个画面是GNU版权说明,点"下一步(N)—>",
进入安装模式选择画面。

  step2. 安装模式有"Install from Internet"、"Download form Internet"、
"Install from Local Directory" 三种。"Install form Internet"就是直接从internet上装,适用于网速较快的情况。如果你和我一样网速不是很快,或者说装过之后想把下载的安装文件保存起来,下次不再下载了直接安装,就应该选择"Download form Internet",下载安装的文件(大约40M左右)。
事实上,所谓的"本地安装版",也是别人从网上下载全部文件后打的包(适用于中国国情嘛^_^)
 
  step3. 接下来是选择安装目的路径和安装源文件所在的路径,之后就进入了选择安装包所在的路径。
注意了阿,这里可是重头戏。我第一安装的时候就是没有看清这一步,结果没有把gcc装进去,导致没法编译文件。
   + All  Default
      + Admin Default
       ....
      + Devel   Default
      + Editors Default
      ....
如上图所示,你在这个TreeView的某个节点上双击,就可以改变它的状态,如Default、Install、Uninstall、Reinstall四种状态。默认的都是Default状态,很多工具的默认状态都是不安装。
在这里我选择了在All这一行上后面的Default上点Install,全部安装,以免后患。(注意:这里的树形控件和win下面的不同,你试试点在All上点 和 在All这一行后面的Default上点,会有不同的响应)

  step4. 点下一步,安装成功。它会自动在你的桌面上建立一个快捷方式。

 

  好了,下面就开始我的linux旅程了。双击cygwin的快捷方式进入系统。
首先介绍几个简单的linux命令。
pwd   显示当前的路径
cd    改变当前路径,无参数时进入对应用户的home目录
ls    列出当前目录下的文件。此命令有N多参数,比如ls -al
ps    列出当前系统进程
kill  杀死某个进程
mkdir 建立目录
rmdir 删除目录
rm    删除文件
mv    文件改名或目录改名
man   联机帮助
less  显示文件的最末几行

由于linux下面的命令大多都有很多参数,可以组合使用。所以,每当你不会或者记不清楚改用那个参数,那个开关的时候,可以用man来查找,比如,我想查找ls怎么使用,可以键入
$  man ls
系统回显信息如下:
LS(1)                          FSF                          LS(1)
NAME
       ls - list directory contents
SYNOPSIS
       ls [OPTION]... [FILE]...
DESCRIPTION
       List information about the FILEs (the current directory by
       default).  Sort entries alphabetically if none of -cftuSUX
       nor --sort.
       -a, --all
             do not hide entries starting with .
       -A, --almost-all
             do not list implied . and ..
       -b, --escape
             print octal escapes for nongraphic characters
       --block-size=SIZE
             use SIZE-byte blocks
:
很全是吧,嘿嘿。

好了,多说无意,让我们来写一个hello world程序。
# cd
  进入了/home/administrator目录,我当前的登陆帐号是administrator

# mkdir source
  建立一个叫做source的子目录

# cd source
  进入 /home/administrator/source

# vim hello.c

   启动vim编辑器,来编写程序。好了,现在有必要简要介绍一下vim。
在linux界,有两大编辑器最有历史。其一是vi,其二是emacs。vi现在已经演化成了vim,比当前的vi更为强大。vim和emacs是两种截然不同的东西,vim强调用简洁的命令来完成功能,无论是查找、替换、
正则表达式匹配、编译、链接、排错、函数间跳转等等等等都在命令行中完成,并且它把方向键也集成在了hjkl四个键之上,可以说,用了vim基本上可以不用鼠标了:p  emacs则是在功能强大上做文章,版本控制、模拟多种编辑环境、对文本进行各种操作,可谓之一个强大的文本处理系统。emacs是用诸如Ctrl+Alt+K 之类的组合键来控制的;vim则是用se(set 的缩写)等简洁命令来控制的。
   由于cygwin中只提供了vim(能不能自己装emacs我还没有试过),我们就先体验一下vim吧:p
vim加载文本文件后分为命令模式和插入模式两种。插入模式,顾名思义就是输入编辑文本;命令模式,则是输入各种vim的控制命令,常用的有:
   i  进入编辑模式
   h  左移
   j  下移
   k  上移
   l  右移
   w  存盘
   q  退出
   ! 强调执行

有些命令是可以组合使用的,如果你修改了某个文件,想存盘退出,则可以使用wq;如果你想放弃存盘,直接退出则可以使用q!  好了大家体验一下吧,记住:从编辑模式退回命令模式按"Esc",再按":",在输入指令,从命令模式进入编辑模式用i,初次使用vim肯定很难受,嘿嘿,不过用多了就习惯了,确实很省劲。

我们编辑hello.c文件,输入:
#include

int main(void) {
  printf( "Hello World!");
}
然后,输入wq命令退到命令行。
输入编译指令:
# gcc hello.c -o hello
编译成功后可以看一下
# ls
看到hello.exe了吧,嘿嘿。
好,让我们运行看看。
# ./hello
效果如何?不错吧? :)

okey,现在玩一个C++的hello world,
# vim world.cpp
输入:
#include
using namespace std;

void main() {
  cout << "Hello World!";
}
编译C++程序要用g++
# g++ world.cpp -o world
运行一下哈,
# ./world

GCC与G的区别和联系 总结起来,GCC是一套广泛使用的编译器集合,而G是其中专门用于编译GNU C代码的一个组件。GCC是一个由GNU项目开发的编译器集合,它支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada和其他一些语言。GCC(GNU Compiler Collection)是一套广泛使用的编译器集合,而G代表GNU编译器套件中的一个特定编译器。GCC是一个多语言编译器集合,可用于编译多种编程语言,而G则是GCC中的一个组件,专门用于编译GNU C代码。选项指定使用GNU C编译器的版本。 阅读详情

相关推荐

python opencv的车牌识别分割详细教程 毕业设计

python opencv的车牌识别分割详细教程 毕业设计

机器学习深度学习业余选手 1297

windowslinux -- 编程篇 -- cygwin,在win开发linux程序

windowslinux -- 编程篇 -- cygwin,在win开发linux程序    乾坤一笑[smileonce]    smileonce@126.com   2004-7-23    版权所有 转载请注明出处  http://blog.csdn.net/smileonce     很多用windows的朋友不习惯于用linux开发环境。虽然很乐意尝试一下,但是往往怕linux

3万+

Flex 3企业级Web应用系统设计与实现详细指南

本文还有配套的精品资源,点击获取 简介:Flex 3是Adobe公司的RIA框架,用于构建交互性强、视觉效果丰富的Web应用。本文深入剖析了Flex 3在企业级Web应用系统设计与实现中的关键技术与实践,涵盖基础组件、数据绑定、性能优化及安全部署等多个方面。通过学习本文,开发者可以掌握如何有效利用Flex 3的各种功能和组件,以构建出高质量的企业级Web应用。 1...

weixin_36001279的博客 1546

cc、gcc、g++、CC的区别概括

gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。 cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装。gcc原名为Gun C语

yzycqu 1386

Cygwin下VI命令使用-修改文件

vi编辑器是所有UnixLinux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对UnixLinux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念   基本上vi可以分为三种状态,

huanongjingchao的专栏 1万+

cygwin下使用vi

在安装了cgywin之后,在里面会经常用到VI命令,在进行VLC编译时会用到VI的创建文件、修改文件等命令,如果你嫌麻烦,则可以在windows下直接对文件进行操作,如果想学下VI使用,下面的教程非常好。从一开始我也不习惯在cygwin下用VI,要修改个东西麻烦死了,后来了解了VI命令之后,慢慢就习惯了。 【Vi编辑器的基本使用方法】vi编辑器是所有UnixLinux系统下标准的编辑器,它的强

热爱生活的男青年 1234

Flex技术在企业级开发中的应用(转)

原文来自:从我个人的从业经历来看,在长达十几年的软件研发过程中,无论是研发的产品或实施的项目,大部分是在为企业客户提供服务。当然,期间我还从事过两年左右的互联网应用的开发。早期的互联网应用开发和企业级应用开发的区别还是很明显的,无论是技术、架构、业务和用户体验,都有很大的不同。举个简单的例子,比如开发语言,最早在2000年左右,大家都用Perl和Asp做网站,后续陆续开始使用PHP、Ruby和Python这样的动态语言来构建丰富多彩的互联网应用,当然这其中也少不了Flex技术。而为企业客户构建的应用,则更多

chengg0769 平淡无奇见真知 独立博客: http://blog.mis2erp.com 1569

Flex技术在企业级开发中的应用-网页设计

转自:http://www.samhy.com/article/560.htm 从我个人的从业经历来看,在长达十几年的软件研发过程中,无论是研发的产品或实施的项目,大部分是在为企业客户提供服务。当然,期间我还从事过两年左右的互联网应用的开发。早期的互联网应用开发和企业级应用开发的区别还是很明显的,无论是技术、架构、业务和用户体验,都有很大的不同。举个简单的例子,比如开发语言,最早在2000年左右

Hallie En Route 靠自己 1065

企业应用的互联网化-谈Flex在企业级开发中的应用

Flex技术在企业级开发中的应用 作者:池建强 从我个人的从业经历来看,在长达十几年的软件研发过程中,无论是研发的产品或实施的项目,大部分是在为企业客户提供服务。当然,期间我还从事过两年左右的互联网应用的开发。早期的互联网应用开发和企业级应用开发的区别还是很明显的,无论是技术、架构、业务和用户体验,都有很大的不同。举个简单的例子,比如开发语言,最早在2000年左右,大家都用Perl...

weixin_34029680的博客 144

企业级软件开发,关于视图层技术的选择(非网站开发

在视图层,我最关注的是Adobe的Flex和基于Ajax的ZK,起先,我还关注过Laszlo,但是我关注视图层是用于企业级软件开发的,而不是网站,Lazlo用于企业级网站开发,天生有着太多的不成熟,比如缺乏实用的grid控件,虽然open source,在架构上却难于在上面扩展,最终还是放弃了。而ZK和Flex现在却发展得很是红红火火。ZK是非常易与学习和扩展的,在ZK源代码基础上作二次开发,也是

2505

Flex初识

       记得以前学习的时候,在看到一些高人制作的绚丽Flash网站,于是乎和一位我认为很牛的老师交流,他认为 说不定以后胖客户端又会流行起来。通过这两年的工作经验来看,由最初的胖客户端到瘦客户端再到现在胖客户端,最核心的是既要能给客户方便和绚丽丰富的体验,也要能保持整个过程系统的快捷和稳定。       当人们不满足原来的文字+图片的浏览方式的时候,RIA技术变孕育而生,比如现在

老张的小记 802

小白对Adobe Flex的十大误解

为了运行Flex应用程序用户需要安装新东西。 Ward向InfoQ.com独家论述了Flash采用比例和Flex编程模型: Flex 2和Flex 3必需运行在Flash Player 9上。Flash Player 9运行时目前已经被安装在世界94%的计算机上:http://www.adobe.com/products/player_census/flashplayer/version_penetration.html Flex 2和Flex 3的应用程序执行在Flash Player 9环境下。Fl

m0_63394128的博客 359

Flex(RIA)也可以做到企业级开发

       如果把Flex单纯地看做是做界面的那就真的只看到了佛山一角了。Flex做出的界面不仅是好看而是简洁。我认为用Flex做企业级开发的话要追求一种简洁,在企业里一般都是用内网,所以flex的速度不是问题。而且与C/S相比访问浏览器还是快些吧。      前几天一直为项目里报的错而烦恼,部署到服务器上刚开始还是可以访问,登录,美欧任何问题的,过了一会就会报错,看了下错误信息,google...

云深不知处 191

Flex实现

本章简介传统网络应用是基于页面的,服务器端数据传递的模式,而且将网络程序的表示层建立于HTML之上,但是HTML只适合文本。因此,传统的,基于页面的系统已经越来越不适应使用者的全方位提要要求。富因特网应用程序(Rich Internet Application)便应运而生了。Flex是一个针对RIA企业级应用的表示层解决方案,是一种应用程序框架,使用Flex可以针对Web应用程序的表示层开发,并加

张晨光老师的播客 4297

关于完美的Flex应用框架的思考(Part 1 of 2)

自Flex技术开始广泛应用以来,对于企业级Flex应用开发框架的讨论就从未停止过,这篇文章是对于构成完美Flex框架要素的思考的第一部分,其中评价了主流的一些Flex框架,相信对于广大开发者来说有很大的参考价值。 在过去的十几年中,大多数企业开发的web框架看起来都关注于问题的结构部分,它们实际上为解决问题而构建的应用只提供了很小的价值。看看那些大多数的JAVA框架,它们甚至不去提供一个内置的组...

sooxin的专栏 155

主题:Flex RIA深入企业级IDE 欲进军移动领域

主题:Flex RIA深入企业级IDE 欲进军移动领域 http://www.iteye.com/topic/721274 2004年3月,Macromedia(2005年被Adobe收购)发布了Flex 1.0。从那时起,基于Flex的RIA开发获得了越来越多的动力,RIA也已经成为广泛接受的Web应用开发方式。今年,Adobe又发布了Flex 4,随之而来的是Flash Builder...

sealbird的专栏 185

Flex LCDS的一个简单应用--AgileShopping&Management项目小结

Flex 接触了四个月有余,前面的时间一直在做准备工作。五月初的时候决定开始动工,用felx尝试一下Web企业级应用开发。之前开始接触Flex技术也是处于一种巧合,后来不断看到网络上关于集中RIA技术优缺点的一些争议。其实没有必要比较,需要的时候学好、用好就可以了,很多东西都是在慢慢的积累,一点点进步吧。     项目驱动其实才是王道,之前看的书少说也有5,6本,只是其中基本只做工具书来参考查询,

马猴烧酒└(┐卍^o^)卍ドゥルルル~楪詩月「YUZURIHA SHIZUKI」 1074

基于SpringBoot+Vue的外卖点餐系统(源码+部署说明+系统介绍).zip

基于SpringBoot+Vue的外卖点餐系统是一个集成了前端和后端技术的外卖订餐平台,主要用于商家和用户的外卖点餐和管理。该系统的源码、部署说明和系统介绍已经打包成一个zip文件,方便用户使用。该系统的前端部分采用了Vue框架进行开发,主要实现了用户界面和交互,包括登录、注册、商品列表、购物车、订单管理等功能。而后端部分则采用了SpringBoot框架,负责处理用户请求、管理用户数据并提供相应的API接口。该系统可以方便地进行外卖点餐和管理,商家可以方便地管理商品信息、订单信息等,用户可以方便地查询商品信息、下单购物等。同时,该系统还支持对用户权限的管理,可以对不同用户进行分组和授权,保证信息的安全性。对于小餐厅商家而言,该系统可以方便地管理商品信息、订单信息等,提高了商家管理效率和准确性。对于消费者而言,该系统可以方便快捷地查询商品信息、下单购物,提高了消费者的就餐体验和方便性。同时,对于开发者而言也是一个学习Vue和SpringBoot技术的不错案例,值得一试。总之,基于SpringBoot+Vue的外卖点餐系统是一个功能齐全、易用、实用性很高的外卖订餐平台,能够方便地进行外卖点餐和管理,提高了商家管理效率和顾客的就餐体验。同时,对于开发者而言也是一个学习Vue和SpringBoot技术的不错案例,值得一试。

上一篇: CVS服务器建立和权限配置完全方案
下一篇: CppUnit - 测试驱动开发入门 (转)
iiisan
博客等级 码龄22年 10粉丝 30原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值