当前位置:  技术问答>linux和unix

我想转到linux下的编程,欢迎大家讨论。

    来源: 互联网  发布时间:2014-12-03

    本文导语:  我在windows下有4年的开发时间,我想转换到linux下,请问大家我应该重那里开始,我对操作系统理论没问题,遗憾的是对linux接触不多,因为我是一个开发人员,特别在写服务器程序时,我发现还时在linux/unix下好,我...

我在windows下有4年的开发时间,我想转换到linux下,请问大家我应该重那里开始,我对操作系统理论没问题,遗憾的是对linux接触不多,因为我是一个开发人员,特别在写服务器程序时,我发现还时在linux/unix下好,我不知道如果我要以最快的速度进入状态,我要做些什么,才不走弯路。

|
TCP/IP怎么不一样哪?都是一样的呀。
总体上来说,不牵涉到UI的部分,都差不多,毕竟大家都是支持ANSI C和
POSIX标准嘛

我觉得先熟悉一下linux的工作环境,然后看看
就可以拉,网络编程,基本概念都差不多,个别地方需要小心处理一下
就可以拉


|
乱发一文^_^(转)

从程序员的角度看Linux和windows的对比 


本人在Unix SYS5,DOS,Windows3.x,windows9.x/NT 和Linux几个不同时 
期流行的OS上写过程序.在Linux和windows的对比中,我主要是从一个程 
序员的角度来看的 

一 系统架构的对比 
1 内核 
(1) 内核的弹性 
Linux的内核表现出了高度的可配置性和独立性,主要是完成:IO驱动设 
备管理,TCP/IP,以及任务调度.Linux的标准内核发布版本有40~50MB,而我 
现在在一些评估板上试验的嵌入式Linux系统(使用Arm或M68K系列的CPU) 
只用到了2MB,同样实现了网络功能和完整的任务调度,这使得Linux可以适 
用于从高端服务器到嵌入式应用的各个等级的计算平台上,与之相比,windows 没有明确的内核概念.windows只适合台式机,NT从未真正的打入高端服务器,WinCE也遇到了一些结构性的困难. 
(2) 内核的任务管理 
衡量一个内核的重要指标是多任务环境下的安全性和任务调度的效率. 
Linux在这方面继承了Unix的优点.而win9.x(包括winme)从来就没有实现过安全的多任务环境,NT/2K 勉强做到了安全性,但是效率还是不敢恭维,我曾今将一个多串口并发驱动的应用程序改写成多线程的方式,原本希望提高处理速度,实际上速度降低了2到3倍.这也就不难理解为什么同样的企业级应用在低硬件的机器上跑得比高硬件配置的NT/2k快. 
2 系统的可增值性与历史兼容性 
一个设计优良的操作系统应该有一个精简和一致的构造,在添加新的功能时不必破坏原有的结构,而且在后继发展中能够保持前后一致性.Unix由于当初设计时的科学性,以致于20多年的时间内,没有在设计思想上做过大的变动.虽然Unix有很多的版本,但是通过Posix标准,这些系统在源代码上保持高度的兼容. 
与之相比,windows的几乎每个操作系统的框架设计都显得十分的随意,几乎不考虑硬件有了新的发展后,会出现什么问题.windown16位和32位两个时期的操作系统出现明显的"代沟",作为一个好的os,这种硬件上的差异是应该由其本身来考虑的,而不是把问题交给二次开发者,比如定义一堆PSZ,LPSZ的指针,将来64位时代, 大概要出现LLPSZ了:) 
3 GUI 图形用户界面 
Linux的GUI建立在X-WINDOWS的基础,这是与windows的GUI完全不同的一种架构windows的GUI是通过应用程序直接调用winows底层的GUI函数.或者说这是一种垂直的关系.而Linux的GUI是应用程序通过socket向X-WINDOW server发送请求实现的,只有X server在真正的写屏幕.或者说这是一种平行的关系.后者的方式带来更高的系统稳定性,因为图形显示系统崩溃,对于Linux来说,只不过是死掉一个进程而已,而对windows来说会导致整个系统的崩溃.当然X-window的开销要比windows的方式大,但是由于硬件的发展X-window在稳定性上的优点会将会弥补速度上微不足道的差异. 
 4 应用开发环境 
 Linux上的开发工具没有windows的容易入门,并不代表Linux上的开发环境比windows 差,其实linux编程入门慢,但是一旦熟悉了,以后就很少需要补充新的概念,与之相比,微软用一些很“简便”的编程概念吸引你,然后很快的淘汰这些概念,强迫你学习新的概念,你发现很多时间花费在气喘嘘嘘的跟着微软后面跑.你在这方面花费的时间远远超过你去学习linux编程的时间.  
 另一方面,Linux上IDE的开发工具也在成长,最终会吸引更多的应用开发工程师 

 5 技术上的发展潜力 
windows现在的技术架构基本上走进了一个死胡同,很难有大的创新.除非提出一个完全不同的系统,然后在里面做个win32子系统,以兼容现有的程序.就像在nt上搞win16子系统一样:),并且体积再扩大一倍. 
 对于linux来说,一个很好的架构放在哪里,现在主要是填充内容,丰富应用.在可以预见的时间内,windows无法在架构上超过Linux. 

 6 多种平台互连的影响 
  如果linux在嵌入式应用中取得了成功,那么将来就会对台式机市场形成外围的压力.随着PC机的控制与网络能力逐步融合到家电和传统设备中去,这一天一定会出现的.微软以下压上的策略(用win9x的市场优势推win nt)会在Linux上重演   

|
首先你得学习Linux进程,线程.必须很熟.这跟window不太一样.
然后知道一些常用命令,还有你必须对TCP/IP,T/TCP相当的熟.
别以为你写了4年的Window程序,但是Linux下的协议有点不一样,
好多东东,需要自己处理.ok?去找几本好书看看吧.

"unix下的TCP/IP编程"这本书可以.
Linux管理方面的,我看的很多,但都不好,好多都过时了

|
我觉得先熟悉一下LINUX下的基本命令
然后看一下SHELL编程方面的书,这样比较好

|
AaronLiu (放不稳的鸡蛋) :
   我在windows下有3年的开发时间,上个月才转换到linux下。
呵呵,感觉还行。就是windows下的各类IDE没法用了。
必须学会使用ultraedit + 标准c。也许开始会不习惯的。

|
我现在搞的就是嵌入式的linux。
我觉得学习步骤如下:
1.熟悉linux环境,掌握linux命令。
2.学好shell编程。
3.一定要搞懂makefile。
希望对你有帮助!

|
去linux伊甸园的文档中心看看,那里会有许多对你由帮助的东西。

|
妖光 Linux 编程上的 GTK 教程特别不错,是胡正翻译的.做什么软件都不能缺少用户界面吧?
地址忘了 :P

Linux 核心编程那本书特别棒,不过电子版已经没有下载了, E 书时空已经关闭了

|
祝你好运!

|
good luck!i think that you are right.

    
 
 

您可能感兴趣的文章:

  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?《Linux下的c编程》《嵌入式系统C编程》那个更适合初学者?各是那个出版社的?(
  • Linux下c/c++ boost安装及并发编程库mpi介绍
  • 我想学Linux编程,请大家推荐几本学习Linux下C/C++编程的书
  • 学Linux编程前要学Unix吗?哪里有学Linux编程的好书下载?
  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • unix编程与linux编程有什么区别?
  • jquery iis7站长之家
  • Linux下的编程指的就是Shell编程吗?
  • 帮我介绍基本linux下编程的书,《Linux上的C编程》这本书怎么样?还有别的书吗?
  • Linux下使用openssl api编程socket编程,为什么要编译啊?
  • 请教linux下的编程的选择:我听说有gtk+gnome的编程,也有kde里的 什么编程,到底应该选择哪个呢?好象一个是技术好一点,一个是市场占有
  • 请问LINUX编程(内核编程)是在什么环境下用什么IDE编?
  • Linux C编程一站式学习,高级shell Bash脚本编程指南,
  • 《UNIX网络编程》这本书适合linux下的网络编程吗?
  • 我学&用Linux编程,手里有《UNIX环境高级编程》,看它行吗?
  • Linux下编程有哪本比较好的书可以推荐下呢。本人看过鸟哥的私房菜了,linux基本操作了解了,现在想开始学linux 下的编程 。我以后打算往网络这方面去学习
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?是那个出版社的,是中文版吗?
  • windows下编程中有没有linux编程中管道和信号的概念?
  • 哪位编程高手知道如何编程实现获取进程的内存使用量信息(linux)
  • 初学者问题,哪里有适合入门的编程电子书看 linux 下 c编程
  • 一个面试,是“北京华胜六所”外包给风河(VxWorks)北京研发处,做linux内核开发,大家过来讨论讨论
  • 做Linux的朋友请进来一起讨论,我是说正在Linux上工作的朋友:)
  • 讨论一下Linux的前景好不好?
  • 建了一个QQ群6910495,一起讨论LINUX,共同学习,共同进步
  • 讨论linux的发展前途与有无用处问题。。。。。。。。。。。
  • http://www.itpub.net 论坛更新数据库,速度更快,欢迎大家前去讨论unix&linux知识!
  • LINUX下JAVA要代替C..?常跟朋友讨论的一个问题
  • 请问一下,关于arm下的嵌入式linux驱动相关问题请教是应该发在哪个讨论区?
  • 大家讨论一下用QT及OSS实现LINUX下的录音程序的方法,说出想法就给分
  • 关于linux和windows的讨论
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Guangzhou GNU/Linux User,广州GNU/Linux用户组,欢迎加入
  • 欢迎加入Linux群 群号:11791406
  • [广告]欢迎加入百度Hi Shada Linux高级群:1054966
  • 强烈要求开辟UnixLinux下编程论坛,欢迎跟贴
  • 欢迎大家来聊聊Linux在国内的应用!
  • Linux9.2版本无法启动欢迎程序,SOS
  • linux qq群 欢迎加入!!!!!!!
  • 欢迎进入linux网络栈学习群111201180
  • 程序员做其他行业的兼职,卖点LINUX技术文化T恤,欢迎大家光顾
  • 急救,欢迎各位LINUX高手(火速)
  • 本人建了一个linux的群,欢迎加入啊
  • arm9+linux技术交流群,欢迎您的加入。
  • linux群号,欢迎加入
  • 请问在linux下制作动态库应该注意些什么(欢迎大家讨论)
  • 欢迎高手加入msn Linux&Unix技术群:group43270@xiaoi.com ——散分庆圣诞&元旦
  • 还是那个linux+2000没法进去!!!!!x86(大雪)尤其要关照!!其它好人也非常欢迎!
  • linux平台下读写socket的最佳方案,欢迎各位讨论。
  • Linux on Power正式开放,欢迎大家访问
  • 大连的LINUX下的C程序员请进!其他地区的也热烈欢迎,来者有分!
  • Linux,Unix和Windows,有关源代码版权的问题,欢迎讨论
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3