7

私は Linux のシステム プログラミングに入りたいと思っており、それにアプローチする方法とどこから始めればよいかを知りたいと思っていました。私は Web 開発のバックグラウンド (Python、PHP) を持っていますが、C と C++ も多少知っています。

基本的に、私は知りたいです:

  1. どの言語を学び、追求する必要がありますか (主に C と C++ だと思います)?
  2. システム プログラミングに固有の言語をどこでどのように学習しますか? 書籍、ウェブサイト、ブログ、チュートリアルなど
  3. これを基本から始めることができる他の良い場所はありますか?
  4. そもそも良いライブラリはありますか?
  5. どのような環境設定 (または概算) が必要ですか? Linuxがそこにある必要があると仮定しますが、GUIを使用してログインすることはめったにないLinuxボックスがあります(常にSSHを使用します)。GUI の方がはるかに便利ですか、それとも VI エディタで十分ですか? (質問のこの部分がserverfault.comに行くべきかどうか教えてください

PS: 明確にするために、システム プログラミングとは、デバイス ドライバー、システム ツールの作成、Linux プラットフォームには存在しないが他のプラットフォームには存在するネイティブ アプリケーションの作成、Linux カーネルの操作などを意味します。

4

5 に答える 5

6

カーネルで遊んでいる場合は、C を使用する必要があります。Essential Linux Device Drivers など、構造の基本、コードを実行する場所などを提供する本がいくつかあります。

一般に、多くのサーバーは C で作成され、場合によっては C++ で作成されます。一般的なライブラリには、Glib、libevent、boost (C++ 用) などがあります。

選択したエディターのコマンド ラインからすべてを実行できます。ここで明確な勝利はありません。好きなものを選んでください。

于 2010-05-21T20:36:50.580 に答える
3

Linux システムのプログラミングに本格的に入るには、C と x86 のアセンブリと言います。

アプリケーションについては、Linux は無数の言語、python、C++、fortran、perl などをサポートしているため、使用する言語を選択してください。

于 2010-05-21T20:37:40.723 に答える
3

あなたの質問はかなり広いです。「Linux に存在しないネイティブ アプリケーション」は、システム プログラミングとは見なさないオフィス スイートなどを対象としています。一度に 1 つのこと (デバイス ドライバーなど) に集中します。これについては、 Linux Programming Book、 Linux カーネル ドライバー開発に 適した IDE は何か、Gnu/Linux のドライバーを作成するための推奨チュートリアルはありますか?など、既存の質問がたくさんあります。、および Ubuntu Linux の場合、どのプログラミング言語を学ぶ必要がありますか? .

C89 を学ぶために、私は間違いなくThe C Programming Language (2nd Edition)を掘り下げます。

于 2010-05-21T20:41:04.517 に答える
1

Nano は私のお気に入りのエディターです。ヴィもいいね。私はそれを学ぶのに時間をかけませんでしたが、どちらもあなたのプログラミング経験を助けることができます. コードのトリッキーなエラーにたどり着いたら、SSH ドライブをマウントし、お気に入りの GUI プログラムを使用してリモートでファイルを開きます。

于 2010-05-21T20:39:47.330 に答える
0

Most of the system programming is done in C as have already been mentioned here. Some of the good books you need to get around to understand the mindset, and righteous unix/Linux way of doing things would be "The Art of Unix programming" by Eric Raymond, and "Advanced Programming in the Unix environment" by Richard Stevens. there are some new books in the market such as Robert Love Book "Linux system programming" as well as 'the linux programming interface', they are up2date, however they do not discuss the original principles and thoughts like the ones i mentioned earlier.

于 2012-06-22T20:20:17.667 に答える