2011-06-17 11 views
6

可能性の重複:
shifting from windows to *nix programming platformWindowsプログラマー向けのLinuxプログラミングに関するヒント(C/C++)

誰も私は、LinuxプログラミングにWindowsプログラミングから移行できるようになる良い、コンパクトなリソースを知っていますか?

私は単純なアプリケーションを実行してデーモンのアーキテクチャをチェックすることができましたが、どういうわけか、一般的なアーキテクチャのベストプラクティスと一般的なソリューションをよりよく理解するために、

私は、すべてのスレッド、ミューテックス、クリティカルセクション、I/O、(名前付き?)パイプのものは、おそらくWindowsの開発から離れていると思います。しかし、私は良い、コンパクトなドキュメントを見つけることができません。

LinuxのデーモンはWindowsよりもシンプルなようですが、私はすでに完全に珍しいfork関数を見つけました。他のものがあるはずです。

また、POSIX準拠のものは何ですか?私はそれがプラットフォームにとらわれないことになっていると聞きましたが、一部のディストリビューションではそれが正確にサポートされていないことも読んでいます。

+2

質問は重複していないようです。 – taskinoor

+1

@taskinoor:それはかなり気になっています。 –

+0

私は、同期の概念、プロセス管理、ファイルI/O、および書かれたシンボリックリンクを開くことと関連している問題をよりよく理解したいと思います。 vim/gcc/cを使ってビジネスロジック型のコンポーネントを開発することができます。そのリンクはDistros/Editors/consoleコマンドの詳細です。しかし、私はそれをチェックします。 – Coder

答えて

2

限り* nixのAPIの詳細については行くように、これは材料の良いセットです:

http://www.hiraeth.com/alan/tutorials/courses/unixprog.html

そして、それは学ぶことは良いことですが、誰かが一緒に素敵なlist of links to many resources here

を引っ張っていますプラットフォーム依存の振る舞い(スレッド、ネットワーキングなど)のラッパーとして可能な限りBoostライブラリを使用することを強くお勧めします。

3

eshのThe Art of Unix Programmingをご覧ください。ほとんどのご質問にお答えします。

これは、* nixの考え方、APIの設計、POSIX互換性の起源と理由、その他すべてについて説明します。

0

特にスレッド化の場合は、おそらくNPTLを読んでみたいです。

forkは、Windows CreateProcessに最も類似していますが、セマンティクスはコードをマッピングする前に両方を理解する必要があるほど十分に異なります。

0

あなたが学ぶ必要があるings。ツールの

  1. ツール
  2. のAPI

を見て:makeGCC。多くのツール(Auto toolsとCMake)があなたのためにMakefileを生成するが、ほとんどのUnixビルドの基礎をフォームにする。

APIの場合、最適なドキュメントはGLibC Manualです。基本的なunix apisについて説明するのは素晴らしい仕事です。

0

RobbinsのUnix Systems Programmingをご覧ください。これはUNIXだけでなくPOSIXに関するものですが、非常に深い例をいくつか紹介しています。 POSIXの要素は、LinuxやBSDやOSXのような他のUNIXの変種にも非常によく似ています。これを読んだら、POSIXシステムの仕組みや、スレッド、ソケット、ファイルI/OなどのAPIを使用する主要な領域の優れた調査を非常によく理解することができます。

関連する問題