UNIX环境高级编程
Ⅰ 看unix环境高级编程,对于学linux有帮助吗它们毕竟是两个系统,虽然是衍生来的。
楼主 看样子 你还没有看apue,那里面讲的很清楚 ,所有的例程都是在四个系统上面测试过的 其中就有linux2.4的内核操作系统
对于学习linux系统编程 绝对是权威经典
放心的看吧 unix与linux很多情况下是相同的
Ⅱ 我想问一下,我只学过C,如果我把这本《unix环境高级编程》书学完了可以找工作吗
这本书我看了3遍了。
总结一下:这本书讲的都是皮毛,靠这本书找工作不现实。 而且这本书是讲的是系统级编程,在实际应用中并不多,搞嵌入式的话可能比较合适。 做应用软件则不搭边了,学这本书主要是理解Linux系统常见函数和一些机制。
路还很长,一本书远远不够。
Ⅲ 急!!!看完"unix环境高级编程"和"unix网络编程"两卷可以干什么
你这些疑问的结症在于,你没有理解什么是应用程序。
站在运行空间的角度来看,运行在内核空间的,我们称之为内核程序,运行在用户空间的,我们称之为应用程序。
如果把一个完整的应用程序产品再细分,其实还可以简单的分为系统层和业务逻辑层和界面(自底向上的顺序)。
你用QT来做界面,也就是位于应用程序的最高层。而"unix环境高级编程"和"unix网络编程"是讲的系统层的东西。
举个例子来说,你点开一个编辑器,写入几个字,然后保存。这个编辑器就是一个应用程序,你点开编辑器后看到的东西就是界面,你写几个字保存时,编辑器就会调用API——write函数来写磁盘,这个就是系统层的东西。这个write函数应该怎么用,用时要注意哪些情况,要不要使用缓冲等,如何使用缓冲等,这些知识就是"unix环境高级编程"就会告诉你。
Ⅳ unix环境高级编程,适合初学者吗
我跟你说说我看APUE的经历。在看APUE之前,我的Linux知识已经积累很多了,C也是特别熟悉,以及C++,但是第一次看APUE还是让人很沮丧的,中途而废,因为里面的很多问题是完全之前没想过,接触过的,知识储备不够,所以我放了差不多半年,这半年我补了很多知识,看了基本Linux系统编程入门的书籍,了解了GCC、GDB的基本使用,学会了vim,学了些进程线程的东西。
第二次看APUE,我坚持看完了,收获很大,但是不懂的东西还是很多。
第三次看APUE,对很多问题有自己的看法,并且开始去尝试其中的一些例程。
第四次看APUE,我就能够很顺利的梳理APUE的结构了,如果开发中遇到什么问题,我知道去哪儿找答案。
第五次看APUE,我粗略的翻翻就知道哪些地方由于长期不用变得生疏。
APUE是本圣经,可以说不多翻几次是看不出它是个好东西的。几年下来APUE被我都快翻烂了,确实学到不少东西。不管做不做系统看法,当看一些文档时我都能游刃有余了。
我的建议,早看。早看早入门,只要你的C语言知识足够,Linux知识储备足够,早看!
Ⅳ unix环境高级编程第三版好不好
简称APUE, unix/linux 系统编程必备宝典, 第三版应该是2013的新版,据说有一些更新 (The new third edition supports today’s leading platforms, reflects new technical advances and best practices, and aligns with Version 4 of the Single UNIX Specification. )
如果你没有之前的版本,又想了解 unix/linux 系统编程,那么这本书绝对是要买的。 我目前手上的是第二版。
这绝对是圣经宝典级别的参考书,必备。
Ⅵ 怎么学<<UNIX环境高级编程>>这本书,学习方法,思路
如果C语言不过关的话建议,建议先读《C缺陷与陷阱》 《C专家编程》
APUE是你那本书的简称, 方法就是以章为节点 先通读一遍,有个概念,然后去linux下练习学到的函数。从文件i/0 到进程 线程 进程通信 线程同步 SOCKET。。等。。
如果学了1个月还没感觉入门的话,建议更换教材,《linux 程序设计》更适合入门选手。
奉劝一句,嵌入式linux 对硬件基础和C的要求很高,学也不是一天两天的功夫,建议先工作两年打下基础后再研究!
Ⅶ Unix环境高级编程中的代码为什么不能在Linux中执行
并不是unix环境编程中的代码不能在linux中跑。
首先确定你的代码是用什么语言写的,不同语言写的代码当然不能通用啦。
这跟用什么系统基本上没太大关系。跟你用什么shell跑代码倒是有关系。
Ⅷ 《UNIX环境高级编程》这本书怎么看怎么学习
W.Richard Stevens 先生所着之书比较适合有经验的人进一步深入学习
W.Richard Stevens 先生所着的UNIX 环境高级编程、UNIX网络编程、TCP/IP详解是难得的入门好书,但这里的入门指得是研究生级别的入门。Stevens 先生所着之书多半是为了给研究生上课时用做教材,因此 Stevens 先生假设阅读这些书的人至少已经接受过了系统的计算机技术本科教育,已经拥有了比较系统的计算机相关基础理论知识。在书中 Stevens 先生假设读者拥有了最基础的操作系统理论,网络技术理论,以及UNIX理论和实践经验,并拥有数种业界常用的UNIX系统作为学习环境(在国外的大学里很容易获得),这样才能体会书中所述的细节。因此这些书刚接触时看似通俗易懂,但在阅读细节上却对读者要求甚高,如果没有足够的专业理论和系统实践是很难真正读进去的。
所以,对于没有接受过系统的计算机专业教育的爱好者,或者主要以 linux 系统维护,或以linux 桌面应用为主的普通用户,Stevens 先生的书并不是很合适的阅读对象。
因此,就我个人的看法,掌握任何一种知识都是需要投入的。我们需要花费金钱去得知识来源(花钱买书,花钱上网,花钱培训),需要花费宝贵的时间去阅读(人生匆匆几十年,没多少时间可以给我们去浪费),需要花费精力去理解书中的内容(基础知识越扎实,理解所学内容越快,但累积基础同样需要大量时间和精力),需要找到合适的环境(光看不实践心里是不会有底的)去验证自己掌握的东西。因此,如果在决定投入之前,先要摸清楚自己到底想要达到什么样的目标,这个目标是否切合自己的实际(相信一个在流水线上辛苦劳作的普通工人,即使学会了计算机编程也是没有用武之地的,除非他有机会离开流水线)。自己是否有足够的资源承载自己的理想(如对于温饱问题尚未解决之人,要他花上千上万的钱去学MBA显然是不现实的)。
同时,任何一本书都会对读者提出一个基本的知识架构和程度上的要求,比方说即使是文学博士,让他去读高能物理学方面的书也会要他的命的。因此在选择所读之书前,先要对自己的实际能力做一次详细的评估,看自己目前到了哪种阶段,是否有能力去掌握自己想要掌握的东西。千万不要因为好高骛远而勉力为之。选择适合自己当前水平的书去阅读并理解,远好过拿着大师所着的神作干瞪眼。
如果主要希望掌握UNIX下的编程技术,尤其是网络编程技术的话,可以有两条路走:
1、以实际需要完善知识架构:为自己做一个项目,比方说自己写个简单的 Web 服务器,因为现在 Web 应用非常丰富,既有成熟的客户端如浏览器可以配合,又有足够全的文档如 RFC文档可供参考,再加上最基本的 socket 编程经验,就可以开始做自己的 Web 服务器。一步一步的为 Web 服务器添加流行的功能,如支持后台 FastCGI 接口,支持 WebDAV,支持流媒体等。在这个过程中不断地学习和掌握相关的理论知识,有时在发觉设计上的不足时甚至需要推翻全盘重新架构。当最终一个完全符合自己心意且足够实用的 Web 服务器做成时,就拥有了可以由自己支配和修改的服务器,同时也掌握了相关的专业理论。这种方式比较适合有一定专业基础的人使用。优点是直观,方向明确所以学习效率高。缺点是需求驱动,形成知识架构不容易完整。
2、系统掌握计算机专业理论:最好的书就是大学里的理论教科书,这些书不会去讲解过于具体的计算机应用,而是从概念开始讲起,力图使学习者获得一个完整的知识体系。只要以后碰到的工作和这个知识体系相关,自然就能很快学会。这种方式比较适合没有基础,或者希望深入学习的人使用,优点是知识架构会逐渐趋于完整,理论功底扎实,后劲足。缺点是花费时间长,方向不明确所以学习效率低,初期会因缺少实践而进展缓慢。
Ⅸ unix环境高级编程主要讲什么的
进程,线程,信号量编程; 数据库开发; 底层通讯,太多了