タグ

Dllとvc++に関するItisangoのブックマーク (3)

  • C++で汎用的なDLLを作成する

    DLLは複数のプログラムから共通で利用できる部分を分離させたライブラリファイルですが、DLLにはいくつかの種類があり、予め利用用途を想定したうえでどのタイプのDLLを作成するかを決めておく必要があります。 Win32APIのような昔ながらの?DLL MFC拡張DLL COMコンポーネントとして作られたDLL .NET Frameworkで作られたDLL ここでは汎用性の高い昔ながらのDLLの作成方法を解説します。

    C++で汎用的なDLLを作成する
    Itisango
    Itisango 2020/11/06
    「__stdcallを使いつつ名前を変えたくない場合はモジュール定義ファイルを使う方法にしましょう。」 #Windows
  • リンカー ツール エラー LNK2001

    外部シンボル "symbol" は未解決です コンパイルされたコードは、"シンボル" への参照または呼び出しを行います。 シンボルは、リンカーによって検索されるライブラリまたはオブジェクト ファイルで定義されていません。 このエラー メッセージの後に、致命的なエラー LNK1120 が発生します。 エラー LNK1120 を修正するには、最初に LNK2001 と LNK2019 のエラーをすべて修正する必要があります。 LNK2001 エラーを取得するには、さまざまな方法があります。 これらはすべて、リンカーによって "解決" されなかった、または定義が見つからなかった関数や変数への "参照 "を含んでいます。 コンパイラでは、コードでシンボルが "宣言" されていない場合は識別できますが、"定義" されていない場合は識別できません。 これは、定義が別のソース ファイルまたはライブラリに

    リンカー ツール エラー LNK2001
  • DEF ファイルを使った DLL からのエクスポート

    モジュール定義または DEF ファイル (*.def) は、DLL のさまざまな属性を記述する 1 つ以上のモジュール文が含まれるテキスト ファイルです。 DLL の関数をエクスポートする __declspec(dllexport) キーワードを使わない場合は、DLL に DEF ファイルが必要です。 DEF ファイルには、最低限、以下のモジュール定義文を記述する必要があります。 ファイルの先頭には、必ず LIBRARY 文を記述します。 この文は、DEF ファイルが DLL に所属していることを識別します。 LIBRARY 文の引数には、DLL の名前を指定します。 リンカーは、この名前を DLL のインポート ライブラリに配置します。 EXPORTS 文には、DLL のエクスポート関数の名前と、オプションで序数値を指定します。 序数値を関数に割り当てるには、アット マーク (@) と数

    DEF ファイルを使った DLL からのエクスポート
  • 1