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

以前做vc开发,现在准备转向到linux,还望大家不吝赐教

    来源: 互联网  发布时间:2015-11-21

    本文导语:  做了几年vc开发,昔日的激情早已当然无存,加之vc已是江河日下,经过衡量,偶考虑向linux转型 不过偶对linux还处于完全陌生状态,前几天刚装了redhat,现在正学习使用vi,其他一律不知.     现向大家咨询一些问题: 0、好像...

做了几年vc开发,昔日的激情早已当然无存,加之vc已是江河日下,经过衡量,偶考虑向linux转型
不过偶对linux还处于完全陌生状态,前几天刚装了redhat,现在正学习使用vi,其他一律不知.
    现向大家咨询一些问题:
0、好像一般作linux+mysql+php/java开发的比较多,不过对这个没有什么兴趣
1、偶c++还算熟练,在linux下c++开发一般是用哪些工具,linux下c++开发一般是那些方向,个人偏向

    网络程序设计
2、linux程序如何与windows通信??是com吗??
3、请给推荐几本linux开发的好书(最好是配以实际项目讲解的),优秀开源社区。

      希望看到大家的意见,这里先谢过。

|
我是刚工作就转到linux的
上学的时候也是看mfc,win32什么的
说说我的体验
先看基本命令,不用多了,看也是看主要的常用参数
平时遇到不知道的就man,info去查找
然后,我找了一本,看了点boost(真的就一点)
接着是两本我觉的不错的入门书,
到此,我觉的算是入了个门(做C开发)
之后我看了点代码,什么代码?linux上的程序基本都带着代码啊
然后是shell
然后是内核分析和系统管理
还有就是常来csdn和chinaunix上看看帖子,发个言(混分)

剩下的事情就看你想做什么了,往什么方向发展了
这是我个人的路子,走的可能偏颇了,愿意参考的就看看,当个教训也好

|
0.这样的程序根本算不上linux程序,这样的程序在winodws下面一样可以运行。
1.linux下面有anjuta kdevelop 编译用gcc,make automake 等等等等,调试用gdb.
2.linux程序?为啥要和windows通信?主机之间通信用sokect。进程间还有管道啥的可以用。
3.开源社区啊,中国的就是linuxfans,linuxsir,还算几个项目。开发的好书?基本没什么好书,开发无非都是一些软件架构的思想加上编码的规范风格,剩下的api还是自己在网上查查吧。

|
0. 如楼上所说,不能叫linux开发,只能算linux下web开发。linux开发一般泛指linux下的c/c++开发。
1. gcc+vi是必须的,kdevelop 是一个很不错的IDE。
2. socket是网络通信的基础。
3. APUE(UNIX环境高级编程)第二版和UNP(UNIX网络编程)第一卷是不得不看的经典。建议你先看看,可以让你少提很多问题:),其他的所谓linux编程的书特别是国内人写的建议还是别看了。



|
首先说明希望学Linux的朋友能够忘记Windows2000,最起码忘记Windows下的盘符、应用程序等基础的东西,其次要深刻明白Linux和Windows是2个不同的系统平台,可以去对比着学习,但不要直接拿Windows那套东西直接套用到Linux学习中。
一、桌面系统
就是系统安装好后的视窗系统,在Windows下叫Windows,在Linux下叫 X Windows,其实只是名字不一样而已(看看红旗做的桌面,真是跟Windows要做象有多象,真 晕,这样虽然有助于Linux桌面的使用,但对于Linux系统的推广真是没什么好处)很多初学Linux人的安装好Linux后,进入其 X Windows桌面,兴奋不已,以为大功告成,Linux自己会了,这种想法是很可怕的;如果我告诉你Linux的X Windows环境不是Linux 系统,它只是在Linux下面运行的应用程序(类似于在Windows下运行office2000),你是怎么想的?Windows下的应用程序几乎是不能直接在Linux系统下安装和使用,学编程的应该明白,所以不要去找Windows工具盘安装你的RAR,QQ,realone等常用工具,你是装不上的。你可以尝试去安装你硬件的最新驱动程序,安装Linux下的常用工具,做一些Linux简单的汉化,你就会理解经常在论坛里问这方面问题的朋友的困难了。总之,学桌面,不是学Linux系统。
二、内核源代码学习
跟unix操作系统一样都是用C语言编写。去买正版的Linux系统(不是很贵),会附带一张或者2张Linux源代码盘,Linux程序员从这里开始,是起点也是终点。
三、系统管理
也就是管理Linux系统环境:SHELL、图形、系统服务、硬件驱动等等。系统管理Linux跟UNIX类似(是看了些Unix系统管理才这样说的),基本上都是通过命令----->配置文件----->脚本文件。初学这建议从这里开始,不要一味去安装XWindows,这个X Windows环境只要你尽量保持经常使用,相信学会是自然而然的事情.(感觉那真实没什么好学的,只要计算机应用在1年以上的朋友,应该都能在下面操作吧)
四、应用开发
在Linux应用上,Linux确实跟它的竞争对手Windows相比还有一定的差距。不过在高端的应用上,Linux的市场是越来越大,
如:Linux内核开发:
----PDA个人掌上电脑;
----专用的网络设备;防火墙设备,VPN设备等是用Linux编写的,国产的,现在销售的十分不错;
----硬件驱动程序;
Linux网络编程:
----php编程,建立动态站点;
----jsp编程;
----perl,cgi编程;
Linux系统下数据库的开发:
----my sql中小型数据库系统;
----oracle数据库;
----DB2数据库,IBM数据库系统;
五、服务器领域
一说Linux,很多自然就想到了做服务器,但现在网络服务器方面,Linux的市场占有率确实是第一的;
Linux服务器领域:
----代理服务器,使用的是Linux的iptables功能;
----电影服务器,使用的是Linux的samba服务的功能,文件和打印共享服务器;
----游戏服务器,cs服务器,在Linux系统下使用cs的Linux版本建立的服务器;
----客户存档服务器,采用的Linux的ftp服务器,常用的有:wu-ftp,pro-ftp软件建立的
----www服务器,使用的是Linux下的apache服务器软件;
----ftp服务器,下载服务器,使用的是Linux下的wu-ftp,pro-ftp,vs-ftp软件;----mail服务器,采用的是Linux下的sendmail,qmail软件;
----dns服务器,使用的是Linux下的bind软件;
----数据库服务器,使用的是mysql或者oracle软件;
----防火墙,软件防火墙服务器,使用的是Linux的iptables功能建立的;
----路由器,软路由器,使用的是Linux下的routed软件建立的;
----拨号服务器,vpn服务器等等;
六、系统集成范围太广,内容太多。相信IBM等建立的Linux研发中心主要就是做这个的。

|
Linux开发分驱动开发 和 应用开发。

两者区别很大, 既然你选择的是应用,而且侧重网络应用,那就多看看上面提到的几本书

APUE 2rd  UNP TCPIP,  都是Richard Stevens的经典著作, APUE 2rd是后人在一版的基础上增修的, 在Stevens生前这个人就有跟他合作的意思,只可惜他英年早逝。

搞Linux开发 , 你不能不听说Richard Stevens

正如你搞驱动开发, 不能不知道 LDD 一样。

你需要了解的跟项目相关的知识有
1 GNU Make(至少要能读懂Makefile)
2 autoconf automake libtool(Linux很多程序,直接./configure再make,都是通过这些工具弄的)
3 shell编程(至少能读懂)
4 vim(or emacs)
5 一般的Linux命令(没有它怎么玩得动Linux,呵呵)。
7 man 和 info是你的助手
8 Linux下的系统调用函数(man syscalls)
8 gcc/g++ 一般命令参数
9 调试工具gdb, strace等(不错的IDE - KDEVELOP)
10 如果涉及GUI,那么QT和GTK+都是很可能的选择
11 。。。 

|
APUE+UNP+TCPIPV1

|
学Gcc/G++编译器,
学GDB调试器
学写Makefile
学Socket

|
com?
兄弟,你还真是windows下面做的多了,com是微软自己弄的
用socket来通信

|
兄弟,我就是从VC转来的。
一步一步来,很快的!
先熟悉系统,然后熟悉开发。

|
到现在工作快两年了,我是04年毕业的

|
shou le xue xi

|
^_^,当我从家中的FC5回到公司的WINDOWS时,就已经习惯了用esc退出记事本或者Editplus,然后不是用ctr+s保存,而是选择了:wq。

进入MS-DOS时,习惯了用ls,可是就是提示没有该命令

Linux不错~

|
有基础,很快的!!


|
好贴,收藏

|
我也是初学者,获益良多啊,感谢楼上诸位!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我以前是做windows下面的开发的,现在想转向Linux或者Unix开发
  • 准备从Windows转向Linux的软件开发,语言为C++,怎么入门?
  • VS2012+MySQL+SilverLight5的MVVM开发模式介绍
  • linux 嵌入式开发用不用买开发板,买什么样的开发板?
  • ios app 开发中ipa重新签名步骤介绍
  • 请问shell 开发能开发什么样的程序?硬件的驱动程序是否能够开发呢?
  • 几个windows平台C++开发错误举例
  • 请问在Linux 下用C开发移动增值软件都有什么开发工具啊,我以前一直在Windows下用VC开发
  • IOS开发:UIScrollView类介绍及如何简单地截获touch事件
  • 我常未开发过Linux下的程序,请问Linux下可以使用那些开发工具,最好的开发工具是什么版本?
  • nginx最新主线开发版1.5.4发布及下载地址
  • 我是学习web开发的,主要是java开发SSH开发框架和ajax等。我想知道有没有必要学习一下linux相关知识。
  • Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行
  • 各位设备驱动开发的朋友,请问,linux设备驱动开发和网络编程开发哪一样工资比较高呀?
  • 操作系统 iis7站长之家
  • Linux Kernel/Network 技术QQ群14888802,只加有内核开发、TCP/IP协议栈开发的程序员,不加新手和做应用开发的程序员。
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 驱动程序开发和嵌入式开发有什么联系吗?
  • Linux 下c++开发error while loading shared libraries问题解决
  • linux 嵌入式开发用买开发板吗?
  • Android开发需要的几点注意事项总结
  • web开发和嵌入式开发哪个更有挑战
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 请问在哪下载嵌入式Linux开发平台???想学嵌入式开发!!!


  • 站内导航:


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

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

    浙ICP备11055608号-3