0

私は基本的に C# と C++ のプログラミング知識を持つ Java プログラマーです。これを考慮して、私の状況を説明するために使用している次のシナリオを読んでください。

プログラムを作成しているとします。私はモジュール プログラミングのファンなので、このプログラムをモジュールに分割しました。彼らです:

  1. 警報
  2. 安全
  3. ライター

ここで、Java では、これらのモジュールを として表すことができますpackages。ここで、packages簡単な言葉で言えば、Java 外のフォルダーです。

C++ を使用する場合、どうすればよいでしょうか。packagesこれらをJavaのようなものに配置するにはどうすればよいですか? そして、私の実際のケースでは、GUI 用の C++/CLI と DLL として作成されたいくつかの C# モジュールを使用しながら、OpenCV C++ ライブラリを使用します。

私のプログラムは非常に大きく複雑になり、すべてのクラス、DLL、およびその他すべてが明確な配置なしで同じフォルダーに配置される混乱を見たくありません。

アップデート

Image 「Speak」という別のモジュールがあります。C# と C++ の両方が存在するため、このモジュールは C++/CLI になります。これをどのように配置できpackagesますか?

4

2 に答える 2

2

ハード ドライブ上のファイルをどのように整理するかは、完全にあなた次第です。システムを構築するときは、コンパイラがファイルの場所を認識していることを確認する必要があります。Java とは異なり、C++ コンパイラは、ユーザーが何をしようとしているのかを探し回ったり理解しようとしたりしません。

論理的な構成に関する限り、確かな提案をするのに十分な情報がここにはありません。しかし、関連するクラスの大規模なグループの場合、名前空間が適切な場合があります。

于 2013-06-28T16:58:49.477 に答える
1

プロジェクト設定でソース フォルダーとバイナリ フォルダーを設定できます。スコーピングには、名前空間を使用できます。名前空間は、名前の競合を防ぎ、プログラムに論理構造を与えるのに非常に適していますが、物理的なファイルの場所を強制するものではありません。物理ファイル構造を適用するには、ファイル エクスプローラーで手動で作成し、それらのファイルをソリューションに追加します。しかし、ここにトリックがあります: 任意のフォルダからファイルを含めたい場合がありますが、常に完全なアドレスや "....\Folder\file.h" のようなものを与えたくない場合があります。代わりに、インクルード ディレクトリを設定し、そこにインクルードを作成します。各ヘッダー ファイルの拡張子のないファイルで、ヘッダー ファイルへのパスを指定します。プログラムの残りの部分から、#include Myfile を実行するだけです ("MyFile" を角かっこで囲む必要があります。

于 2013-06-28T17:01:19.177 に答える