この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 12415|答える: 1

[C] C++ LibおよびDllを参照するメソッドの概要

[リンクをコピー]
掲載地 2019/07/02 17:06:54 | | |
1. 静的接続ライブラリLIBとは何か、動的リンクライブラリDLLとは何か?     
静的リンクライブラリと動的リンクライブラリの両方がコードを共有しており、どちらもバイナリ形式です



2. 静的リンクライブラリLIBと動的リンクライブラリDLLの違い
静的リンクライブラリを使う場合、ライブラリ内のすべての命令が直接EXEファイルに含まれています。 動的動的リンクライブラリは最終的なEXEファイルに必ずしも含める必要はなく、EXEファイル実行時に「動的」参照やアンロードが可能です。 もう一つの違いは、静的リンクライブラリは他の動的または静的リンクのライブラリを含めなくなるのに対し、動的リンクライブラリは他の動的または静的リンクのライブラリを含めることができない点です。



3. 静的リンクライブラリ呼び出しメソッド:
生存してlibファイルを生成しましょう:

VS2017--> 新しいプロジェクトを作成してください。>windowsデスクトップを起動。静的ライブラリ>プロジェクト名はLibtestです。



新しい関数と functem.cpp

functem.h:

#pragma 一度だけ
#include 「stdafx.h」
#ifndef _functem_H
#define _functem_H
int functem(int a, int b);
#endif
functem.cpp:

#include 「functem.h」
#include 「stdafx.h」

int functem(int a, int b)
{
        A + B を返す;
}
その後プロジェクトを生成すると、DebugディレクトリにLibtest.libとLibtest.pdbの2つのファイルが存在します

電話をかける際は、3つのステップが必要です:

1. Libtest.libとfunctem.hを呼び出し元のディレクトリにコピーします。以下の図に示すように:



2. 呼び出し cpp ファイルの上に「functem.h」#include を追加します

3. 呼び出し #pragma cppファイルの上にコメント(lib, "Libtest.lib")を追加



上の図に示すように、この呼びかけは成功しました。



4. 動的リンクライブラリ呼び出し方式:
新しいプロジェクトを作成 - > Dlltestというプロジェクト名の動的リンクライブラリを使います

新しいDlltest.hを作成する:

#pragma 一度だけ
#ifndef __CDLL_H__
#define __CDLL_H__
extern "C" int _declspec(dllexport) add(int x, int y);
#endif
Dlltest.cpp:

#include 「stdafx.h」
#include 「Dlltest.h」
int add(int x, int y)
{
        x + yを返す;
}
プロジェクトを生成し、Debugディレクトリには以下があります:



通話プロセス:

1. Dlltest.dll、Dlltest.lib、Dlltest.hをコピーし、発信者のディレクトリにコピーします。以下の図のように:



追伸:ここでのDlltest.libはコンパイルリンクのコンパイル時のみ使用されるため、プログラム生成後はlibファイルは含めずdllファイルのみを含めることができ、実際の用途はdllファイルです。 要するに、3つのファイルすべてをコピーする必要がありますが、リンクのコンパイルには.hと.libが使われ、最終生成されたディレクトリには.dll 4つのファイルだけを配置すればよいのです。

2. 呼び出し #include cpファイルの上に「Dlltest.h」を追加します

3. 呼び出し #pragma cppファイルの上にコメント(lib, "Dlltest.lib")を追加します



通話は成功しました!
---------------------
著者:バード
出典:CSDN
オリジナル:https://blog.csdn.net/wcc27857285/article/details/84615891
著作権注意:この記事はブロガーによるオリジナル記事です。転載のためにブログ投稿のリンクを添付してください!





先の:1. 最新のコースウェアを作成する
次に:MFCのLPSTRタイプライティング
掲載地 2023/12/16 13:10:26 |
プロンプト:著者はBANされたり削除されたりすると、コンテンツは自動的にブロックされます
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com