Linux编程要点

Jas*_*ter 7 c++ linux

在Win32上使用了几年的C++之后,我才刚刚进入Linux编程(Red Hat).所以我不是在寻找编程的基础知识.相反,我希望能够熟悉Linux编程世界独有的东西,比如软件包等.换句话说,我需要知道https://www.redhat.com/courses/rhd251_red_hat_linux_programming/details/中的所有内容.不花3K.关于如何快速(并且相对便宜)获得知识的任何想法?

更新:我以前在Windows上做的事情就像使用VC++构建.exe和dll,创建安装脚本等在Linux上做的不同.他们使用诸如yum,make和make install之类的东西.像我在Windows世界中理所当然的依赖性walker之类的东西在做linux的时候不断地把我发送到google.在某个地方是否有一套"新技能"我可以浏览,或者这更像是一种学习方式?

主要问题是:作为Windows中非常有经验的程序员,我不得不问一些简单的问题,例如usr\bin和usr\local\bin之间的区别是什么,我想做好准备.

wkl*_*wkl 7

编辑,因为我最初提交时必须离开会议,但想完成信息

其中一半的材料是在类Unix环境中学习开发,为此,我推荐一本书,因为从一开始就过滤掉有用的信息就更难了.

我劝你去书店浏览这些书:

  • 由Stevens和Rago 编写的Unix环境高级编程 - 本书涵盖了线程,网络,IPC,信号,文件,进程管理
  • Unix网络编程,第1卷由Stevens撰写 - 本书主要关注网络编程技术,设计 - 您可能需要这么做,直到很久以后
  • Unix/Linux系统管理 - 本书涵盖了更多系统管理员方面的内容,例如大多数Unix和Linux文件系统的目录结构(Linux发行版在它们如何构建文件系统方面比Unix命名的同类文档更加多样化)

    在线访问的其他信息:

  • GCC在线手册 - 全面的GNU GCC文档

  • Beej的网络编程指南 - 使用BSD API编写的一本非常好的网络编程教程.如果你已经完成了工作winsock,这应该是你最熟悉的.
  • Red Hat Enterprise Linux 5的部署指南 - 专门讨论Red Hat EL 5的基本管理/部署,例如使用软件包管理器安装,Red Hat系统的目录结构......
  • make- 维基百科文章,其中包含各种make文档的链接
  • binutils - 这些是用于操作对象/二进制文件的Linux工具.
  • GNU构建系统 - 维基百科关于GNU软件传统构建系统的文章,使用autoconf/automake/autogen

此外,您还需要了解ldd,就像Windows中的依赖步行器一样.它列出了目标二进制文件的依赖项,如果有的话.

对于调试,请查看此StackOverflow线程,该线程讨论了编写良好的GDB教程以及指向IBM指南的链接.

快乐阅读.