これら2つの事実を調整する必要があります。
- Linuxでの作業に不安を感じています。
- Linux用のソフトウェアを開発する必要があります。
ある程度のバックグラウンド:私はWindowsで10年以上のプログラミング経験があり(ほぼ排他的にC / C ++ですが、.NETも同様です)、自宅でFreeBSDを約3年間使用していました(その後に戻る必要がありました) Windows)、そして私はLinuxでそれほど運がなかった。そして今、Linux用のソフトウェアを開発する必要があります。計画が必要です。
Windowsでは、プログラミング言語、コーディング対象のAPI、IDE(VisualStudio)、およびトラブルシューティング用の非常に基本的なツール(Depends、ProcessExplorer、DebugView、WinDbg)を知っているだけで済みます。他のすべては自然にやってくる。
Linuxでは、これは非常に異なる話です。Firefoxプラグインからリンクする場合、どのDLL(申し訳ありませんが、共有オブジェクト)がロードされるのか、どうしてわかりますか?Linuxでソースに__asm int 3 / DebugBreak()を挿入してプログラムを実行し、OSにデバッガーを呼び出させることと同等の機能は何ですか?なぜ地獄リリースビルドはappLoaderと呼ばれるものを使用するのに、デバッグビルドは何らかの方法で動作するのですか?最悪なのは、Linux開発環境をプロビジョニングする方法ですか?
それでは、憎しみは通常、十分な知識がないことに関連していることを考慮して、あなたは何をお勧めしますか?EmacsとGCCで大丈夫です。Linuxの管理者/ユーザーとして自分自身を教育する必要があり、適切なトラブルシューティングツールを学ぶ必要があります(straceはかっこいいです、ところで)。
最初からLinuxを実行する必要がありますか?または、単に本を読む必要があります(Kernighanの「UNIXプログラミング環境」とStevensの「Advanced Programming ...」を読みましたが、もっと実用的なことを学ぶ必要があります)。または、自宅のコンピューターにLinuxディストリビューションを用意する必要がありますか?
man
はあなたの友達です。私はman nm
、そしてman ld
出発点として。