我从最近几年开始在Windows中使用C++和COM/ATL.现在我想转向Linux编程.我知道Linux的基本架构.我做了一些使用ncurses,套接字和音频库(终端应用程序)的项目.从项目开始我应该熟悉哪个工具.在Windows中,我已经开始使用Win32编程,然后转移到COM和ATL.Win32编程给了我Windows的见解.
你能给我开始Linux编程的步骤吗?
ejg*_*ttl 13
其余的取决于你想做什么.
你不需要成为这方面的专家; 你会逐渐学习.
Dan*_*ski 12
取决于你想要做什么......
你打算做GUI应用吗?学习Qt或GTK或wxWidgets.你打算做设备驱动程序开发吗?直接学习C,而不仅仅是C++.Linux下许多令人兴奋的软件开发都发生在Python和Perl(以及其他动态语言中),所以你几乎肯定会学到其中的一个.
我明白为什么你这样问你的问题,但Linux不是Windows,所以真的没有直接的答案.实际上我们在谈论GNU/linux +所有的自由软件生态系统,所以你需要学习的东西很大程度上取决于你想做什么.
如果您更喜欢系统编程,那么您将看看Linux内核并需要处理您的C技能.
如果你想编写实用程序,脚本语言(特别是ruby和python)将是你的首选工具,你必须选择一个GUI框架(GTK,QT和wxWidget显示方式).
如果它更多的是关于网络和网络编程:python,ruby,php或java可以做到这一点.
在Linux环境中,您可以选择,因为很多人使用了很多不同的工具.它看起来很麻烦,而且经常是,但它的工作并不是那么糟糕.
所以不要再考虑你必须学习什么,而要专注于两个问题:
自由,就像在自由伴侣中一样,意味着你可以选择.
开始阅读《高级 Linux 编程》一书,该书也提供免费 PDF 版本。
不要害怕高级关键字。从你的帖子的详细信息(ncurses,套接字)来看,你已经是“高级”了。
您还可以稍后查看glib库(GTK+/GNOME 的标准组件,但也用于命令行应用程序。)
如果您绝对必须使用 C++ 进行编程,请阅读QT的整个文档 ,然后就可以开始了。