C 建立和使用動態鏈結庫

2021-09-24 10:38:07 字數 1504 閱讀 8788

乙個簡單的動態鏈結庫的生成和呼叫例子,太過簡單,大神請繞道。

使用vs建立工程選擇動態鏈結庫。

在專案中建立原始檔和標頭檔案,並在檔案中新增以下**。

在標頭檔案中新增以下**

// dlltest.h   標頭檔案,使用動態鏈結庫時需要包含標頭檔案

#pragma once

#ifdef __dllexport

#define __dll_exp _declspec(dllexport) // 匯出函式 - 生成dll檔案時使用

#else

#define __dll_exp _declspec(dllimport) // 匯入函式 -使用dll是使用

#endif // __dllexport

// 判斷是否是c++

#if defined(__cplusplus)||defined(c_plusplus)

extern "c"

#endif

在原始檔檔案中新增以下**

// dlltest.cpp

#include#include"dlltest.h"

#include"pch.h"

int add(int a, int b)

int sub(int a, int b)

在工程屬性,c/c++ => 預處理器 => 預處理定義中新增預定義巨集__dllexport.

在工程屬性,c/c++ => 預編譯頭 => 預處編譯頭選擇不使用預編譯頭。

編譯生成dll檔案和lib檔案(如果沒有生成lib檔案,需要在工程中新增乙個source.def檔案,內容為library)。

1. 使用c++呼叫動態鏈結庫

新建乙個c++工程,包含dlltest.h標頭檔案,並引用生成的lib檔案。

新增原始檔testcpp.cpp,在原始檔中輸入以下**:

#include #include"dlltest.h"

int main()

編譯,執行即可呼叫上面生成的動態鏈結庫。

2.使用c呼叫動態鏈結庫

新建乙個c語言工程,包含dlltest.h標頭檔案,並引用生成的lib檔案。

新增原始檔testc.c,在原始檔中輸入以下**:

// testc.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include #include "dlltest.h"

int main()

編譯,執行即可呼叫上面生成的動態鏈結庫。

posted @

2019-06-04 22:56

ay-a 閱讀(

...)

編輯收藏

建立和使用動態鏈結庫 C

我們將建立的第一種型別的庫是動態鏈結庫 dll 使用 dll 是一種重用 的絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練涵蓋以下內容 本主題假定您具備 c 語言的基礎知識。從 檔案 選單中,選擇 新建 然後選擇 專案...

建立和使用動態鏈結庫 C

visual studio 2008 其他版本 22 共 24 對本文的評價是有幫助 評價此主題 更新 2007 年 11 月 我們將建立的第一種型別的庫是動態鏈結庫 dll 使用 dll 是一種重用 的絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功...

C 建立和使用動態鏈結庫

乙個簡單的動態鏈結庫的生成和呼叫例子,太過簡單,大神請繞道。使用vs建立工程選擇動態鏈結庫。在專案中建立原始檔和標頭檔案,並在檔案中新增以下 在標頭檔案中新增以下 dlltest.h 標頭檔案,使用動態鏈結庫時需要包含標頭檔案 pragma once ifdef dllexport define d...