3

(mingw32、windows xp) こんにちは、Java から C++ に移行しようとしています。非標準の C++ ライブラリの検索、インストール、およびコンパイルについて混乱し、不満を感じています。Java では、Java の標準 API に必要なすべての機能とドキュメントが詰め込まれているので便利です。Threading、gui、networking、image\audio processing、xml などの重要な C++ ライブラリのリストはありますか? 一つの場所へ?それとも、単一のパッケージとして提供されますか?

QT ライブラリを何週間もインストールしようとしましたが、コンパイルすらできません。Javaでは新しい機能を習得するために試行錯誤しながら学んでいましたが、そもそも新しいAPIを取得して実行できなければそれは不可能です。

どうか、あなたの提案が必要です。もともと私は Java の抽象化から解放されたかったのですが、頭を撃つ前に C++ を使用できるようになりたいと思っています。

4

3 に答える 3

2

C++ 標準ライブラリは非常に軽量です。Java ランタイムや .NET CLR が提供する機能にはほど遠いものです。

Boostライブラリは、C++ にさまざまな機能を追加しますが、ユーザー インターフェイスの分野では (もしあれば) それほど多くはありません。

UI については、どのプラットフォームをターゲットにするかという問題があります。Win32 の場合は、そのままの Win32 API を使用できます (ほとんどは C 用に設計されていますが、その一部には C++ ラッパーがいくつかあります)。クロスプラットフォームが必要な場合は、QT または GTK (他にもありますが) を見ています。

しかし、Andrew がすでに言ったように、「とにかく C++ を学びたいのはなぜですか?」。誤解しないでほしいのですが、私は生計を立てるために C++ でプログラミングを行っており、実際にそれを楽しんでいます (ただし、ストックホルム症候群のケースを疑い始めています)。やり直す必要がある場合は、より最新の言語と環境 (Java または C#、または Ruby または Python) を使用します。

于 2008-10-23T07:20:12.287 に答える
1

私のアドバイスは次のとおりです。一度に一歩ずつ進んでください。

まず、ビルド済みのライブラリをコードに含める方法を理解します。ZLibから始めることをお勧めします(非常に使いやすい設計で、便利なツールでもあります)。ビルド済みのライブラリが機能するようになったら、それを削除して、ソース コードから ZLib をコンパイルしてみてください。いつでもサポートが必要な場合は、スタック オーバーフローでお問い合わせください。

それが機能するようになるまでに、Qt をコンパイルしてインストールするために必要なすべての知識も習得しているはずです。

于 2008-10-23T17:02:30.690 に答える
0

スレッディング、XML、ネットワーキング、一部の画像生成、エンコード、および処理 -ブーストはそれらを提供します。XML に関して言えば、 Arabicaなどがあります。これは、プラットフォーム固有のライブラリを標準的な C++ の香りでラップすることによって抽象化します。

GUI部分は別の問題です。

Qt、wxWidgets、C++ バインディングを備えた gtk (gtkmm)、各プラットフォーム用のネイティブ ライブラリとその C++ ラッパー (WTL は Win32 用の優れたライブラリです) がありますが、C++ 標準が進化し、boost が標準の一部になりつつあります (C++ 0x は近日公開予定)、これらの標準機能を活用し、代わりに独自の機能を導入する GUI フレームワークはありません。しかし、彼らは仕事をとてもうまくやっています。

于 2008-10-23T08:06:35.607 に答える