動態鏈接庫的生成與使用(vs2017)

2020-08-09 14:47:48

當我們編寫了某某程式碼給別人使用,但是又不想給他原始碼,我們就可以做成鏈接庫給他使用。當然鏈接庫的作用不止於此。

生成動態鏈接庫

我們只是舉個例子,就用簡單的add函數。

  1. 開啓:「檔案」-「新建」-「專案」
    在这里插入图片描述
  2. 開啓:「已安裝」-「windows桌面」-「windows桌面嚮導」
    在这里插入图片描述
  3. 選擇「動態鏈接庫」-「空專案」
    在这里插入图片描述
  4. 新增.c和.h檔案
    在这里插入图片描述
  5. 編寫程式碼

add.h檔案:

#ifndef _ADD_H
#define _ADD_H

__declspec(dllexport) int add(int a, int b);

#endif // !_ADD_H

add.c檔案:

#include "add.h"

int add(int a, int b)
{
	return a + b;
}
  1. 點選「生成」-「重新生成解決方案」
    在这里插入图片描述在这里插入图片描述
  2. 檢視生成檔案
    在这里插入图片描述

使用動態鏈接庫

  1. 新建普通c語言控制檯專案
    在这里插入图片描述
  2. 加入.h .lib .dll檔案
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 「專案右擊」-「屬性」
    在这里插入图片描述
  4. 新增標頭檔案和庫檔案路徑
    在这里插入图片描述
  5. 編寫程式碼
#include <stdio.h>
#include <add.h>

#pragma comment(lib, "add.lib")

int main(void)
{
	printf("%d", add(1, 2));
	return 0;
}
  1. 編譯執行
    在这里插入图片描述

注意

  1. 需要注意debug和release版本
  2. 需要注意32位元和64位元
  3. 生成的時候注意要加__declspec(dllexport)
  4. 使用的時候要加#pragma comment(lib, "xxx.lib")