乙個簡單的動態鏈結庫的生成和呼叫例子,太過簡單,大神請繞道。
使用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...