有没有人知道一个好的,紧凑的资源,可以让我从Windows编程迁移到Linux编程?
我设法让简单的应用程序运行,检查了守护程序架构,但不知怎的,我不知道从哪里开始更好地了解架构的最佳实践和常见解决方案。
我想所有的线程,互斥,关键部分,i / o,(命名?)管道内容都可能远离Windows开发。但我找不到一份好的,紧凑的文档。
Linux中的守护进程似乎比在Windows中更简单,但我已经偶然发现了一个完全不寻常的fork函数,并且我应该有其他的东西。
此外,POSIX合规性的所有内容是什么?我听说它应该是与平台无关的,但我也读到它在某些发行版下并不完全支持。
答案 0 :(得分:5)
Linux编程接口是我现在正在阅读的一本很棒的书:
http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200
只要看看其优秀的客户范围 - 它就是非常出色的Linux编程书。
答案 1 :(得分:3)
您可以查看esr的The Art of Unix Programming,它将回答您的大部分问题。
它将解释* nix哲学,API的设计,POSIX兼容性的起源和原因以及其他所有内容。
答案 2 :(得分:2)
关于* nix API的详细信息,这是一组很好的材料:
http://www.hiraeth.com/alan/tutorials/courses/unixprog.html
有人聚集了一个不错的list of links to many resources here
虽然学习目标平台很好,但我强烈建议尽可能使用Boost库作为平台依赖行为的包装(用于线程,网络等)。
答案 3 :(得分:1)
答案 4 :(得分:0)
特别是对于线程,您可能希望阅读NPTL。
fork
与Windows CreateProcess
最相似,但语义不同,在映射代码之前需要很好地理解。
答案 5 :(得分:0)
您需要学习两件事。
查看工具:make和GCC。使表单成为大多数unix构建的基础,尽管有许多工具(自动工具和CMake)将为您生成Makefile。
对于API,最好的文档是GLibC Manual。它很好地解释了基本的unix apis。
答案 6 :(得分:0)
罗宾斯看看Unix Systems Programming。它更多的是关于POSIX而不仅仅是UNIX,并且还包含了一些非常好的深入示例的材料。 POSIX因子意味着它可以很好地转换为Linux以及其他一些UNIX变体,如BSD和OSX。阅读之后,您肯定会非常清楚地了解POSIX系统的工作原理,以及对您使用API的主要领域(如线程,套接字和文件I / O)的优秀调查。 / p>