1

私が取り組んでいるいくつかのビジュアル C++ プロジェクトから Windows dll を作成しようとしています。私のより大きな目標は、dll がどのようにコンパイルされたかのニュアンスを (あまり) 気にせずに、クライアントがリンクできる dll を作成することです。

  • 広く受け入れられる、使用すべきいくつかの基本的なコンパイラ フラグがあるかどうかをよりよく理解したいと思います。
  • Dll からエクスポートする必要がある場合に構造体を記述する方法について、一般的に受け入れられている手順はありますか。特に、アラインメントのパッキングにあまり敏感ではないもの。クライアントは、4 バイトのパッキング、または独自のプロジェクト用の何かを持っている可能性があります。ヘッダーが 8 バイト アラインされているかどうかに影響しないことを確認する方法。
  • win32 dll または MFC dll の作成は重要ですか。

ここに記載されているアイデアに基づいてクラスがエクスポートされるようにプロジェクトを構成しました: http://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL

4

2 に答える 2

1

ある点の魔女が頭をよぎります。

  1. パブリック メソッド シグネチャまたは構造体で stl オブジェクトを使用しないでください。
  2. 可能であれば、署名には単純なデータ型のみを使用してください。
  3. 一部の構造体をエクスポートする必要がある場合は、ヘッダーでパッキングを定義します。
于 2012-07-22T15:24:05.153 に答える
0

DLL を作成するためのベスト プラクティスをご覧ください。これは基本的なことですが、非常に見苦しい副作用につながる可能性のある問題が無視されることがよくあります。

于 2012-07-23T13:39:09.233 に答える