タグ

C++とDLLに関するkosyokaiのブックマーク (6)

  • DLLを静的リンクで呼び出す

    DLLロードの仕方には、静的リンク(暗黙的)と動的リンクがあります。 このページでは静的リンクについて記述します。 リンカーでリンクするときにLIBファイルを指定して関数とDLLファイル名とを関連付けした情報を実行ファイルに埋め込みます。 DLLはプログラム(プロセス)が開始した時点で自動的に読み込まれます。 DLLを呼び出す側は関数のプロトタイプ宣言とLIBファイルの指定(コンパイラオプションでの指定または#pragma)のみで通常の関数の様に使えます。 動的リンク プログラマが明示的にDLLファイルのロード・解放および関数へのエントリーポイントの取得および関数の実行を行います。 動的リンクの場合、プログラムの実行時においてロードするDLLファイルを変えられます。 またDLLを読み込むタイミングはプログラマー任せです。 LIBファイル・ヘッダーファイルのないDLLに使用できます。 コンパ

  • COM プログラミング

    ASP(Active Server Pages)から呼出すプログラムは、スタンドアローンの プログラムの形式ではなくCOMサーバを作成します。 ここでは Visual C++ 5.0 の ATLベースのCOMサーバの作り方を説明します。 あなたのコンポーネントにSendMailメソッドを実装してみましょう。 ATL COM AppWizardプロジェクトの作成 [ファイル]-[新規作成]で[プロジェクト]ページの[ATL COM AppWizard]を 選択して[OK]を押します。次をチェックして[終了]を押します。 ATLオブジェクトの新規作成 [挿入]-[ATLオブジェクトの新規作成]で[ATLオブジェクト ウィザード]ダイアログを 開きます。[シンプルオブジェクト]をクリックして選択して、[次へ]を押します。 [ATL Object Wizardのプロパティ]ダイアログが開きます。

  • Visual Studio 2017 Visual C++ による ATL の基本 - Qiita

    #はじめに ATL は Active Teplate Library の略で Visual C++ 用のテンプレートライブラリである。このライブラリは、主に COM オブジェクトの作成に使用される。(COM : Common Object Model) ターゲットになる COM オブジェクトには、主に以下のようなものがある。 COM Control: (例) VB6 用のコントロール。拡張子は .ocx 。 COM DLL: (例) WSH で使用される WScript オブジェクトなど。 COM EXE: (例) Excel や Word など。 COM Control と COM EXE は現在ではそれほど使われないので、以下の説明は COM DLL を対象とする。COM DLL を作成すると、.NET 系の言語 (C#, VB.NET ..) から VC++ で作成した機能を簡単に利

    Visual Studio 2017 Visual C++ による ATL の基本 - Qiita
  • クラスファクトリの実装 ~ 作ってわかる COM の基礎 - Web/DB プログラミング徹底解説

    クラスファクトリは、COM オブジェクトを生成するためのクラスです。このインスタンスはクラスオブジェクトなどといいます。 COM オブジェクトを生成するときには通常、CoCreateInstance という COM API を利用します。 C++ のオブジェクトを new で生成するのと異なり、CoCreateInstance という API を途中に挟んでインスタンスを生成することによって、 COM のシステムがそのインスタンスを生成する場所を変えることができるのです。例えば、CoCreateInstance で COM オブジェクトを生成したときに、 その実体が同じプロセス内にある場合もあれば、他のプロセスにある場合もあるのです。 CoCreateInstance を介してオブジェクトを生成するためには、あるお約束事が必要になりますが(オブジェクトの生成方法がてんでばらばらなら、 統一

    クラスファクトリの実装 ~ 作ってわかる COM の基礎 - Web/DB プログラミング徹底解説
  • COM/ActiveXの解説ページ

    COM/ActiveXの解説を順に書いていきます。 COMの背景知識 プログラムの実行環境 プログラムの実行処理 COMの関連知識 インターフェースと実装 ファクトリクラス 参照カウント ゼロからのCOM COMの目的とその仕組み クラスの作成とその利用 IUnknownとその実装 クラス機能の実装 class object DLL利用状態の管理 DLLサーバの自己登録 DLLサーバのビルド DLLサーバの動作確認 EXEサーバ DLLとEXEの違い メソッド呼び出し サーバ処理の流れ コマンドラインの解析 EXEサーバ利用状態の管理 class objectの登録 クラスのビルドと動作確認 オートメーションサーバ スクリプト言語への対応方法 クライアントの実装 IDispatchインターフェース メソッド呼び出しの実装 デュアルインターフェース C++とスクリプト言語の両立 MIDL タ

  • ゼロからのCOM - class object

  • 1