關於vs2019設定動態鏈結庫

2021-10-02 08:35:07 字數 2323 閱讀 2416

關於前面的怎麼建立乙個dll,請參考這篇部落格。

寫的挺詳細的。

我把pch.**件貼在這裡,裡面做了詳細的注釋

// pch.h: 這是預編譯標標頭檔案。

// 下方列出的檔案僅編譯一次,提高了將來生成的生成效能。

// 這還將影響 intellisense 效能,包括**完成和許多**瀏覽功能。

// 但是,如果此處列出的檔案中的任何乙個在生成之間有更新,它們全部都將被重新編譯。

// 請勿在此處新增要頻繁更新的檔案,這將使得效能優勢無效。

#ifndef pch_h

//ifndef的意思是如果pch_h未定義,則執行else前面的。

#define pch_h

// 新增要在此處預編譯的標頭

#include

"framework.h"

#include

#endif

//pch_h

#pragma warning(disable:4996)

#ifdef import_dll

//ifdef的意思是如果import_dll已經定義過了,則執行else前面的,如果未定義,則執行else後面的。

#else

#define import_dll extern "c" _declspec(dllexport)

//指的是允許將其給外部呼叫

//這裡 _declspec是關鍵字,

#endif

//建立鏈結

import_dll void

init_mysocketimpl

(void

** handle)

;//傳送資料

import_dll void

senddata_mysocketimpl

(void

* handle,

const

char

* senddata,

int sendlen)

;//接收資料

import_dll void

recevdata_mysocketimpl

(void

* handle,

char

* recevdata,

int* recevlen)

;//關閉

import_dll void

close_mysocketimpl

(void

* handle)

;

然後在pch.cpp檔案裡面具體實現這四個函式。接著生成解決方案,然後在debug檔案裡面找打.dll檔案,複製。

這裡是呼叫dll的檔案。

#include

#include

#include

"windows.h"

intmain()

;int len =

strlen

(buf)

; send =

(senddata_mysocket)

getprocaddress

(hdllinst,

"senddata_mysocketimpl");

//getprocaddress為獲取該函式的位址

send

(conn, buf, len)

;//接收資料

char recevbuf[

1024]=

;int recevlen =0;

recev =

(recevdata_mysocket)

getprocaddress

(hdllinst,

"recevdata_mysocketimpl");

//getprocaddress為獲取該函式的位址

recev

(conn, recevbuf,

&recevlen)

;printf

("接收到的資料是:%s\n"

, recevbuf)

;printf

("接收到的資料長度是:%d\n"

, recevlen)

;//關閉

close =

(close_mysocket)

getprocaddress

(hdllinst,

"close_mysocketimpl");

close

(conn)

;return0;

}

在這裡,先把**寫好,然後生成解決方案,之後把.dll檔案複製到它的debug檔案下就可以了,輸出正確。我把專案資料夾附在後面。

vs2019製作動態鏈結庫 dll到指定目錄

製作dll 1.新建專案 動態鏈結庫 dll 2.指定名稱和位置,建立 3.新增自己寫好的test.cpp和test.件 4.test.cpp檔案最前面包含 include pch.h 5.test.件中宣告的函式或類前加 declspec dllexport 放在型別前後都可以如 class de...

vs2019建立動態庫

1.記住生成的動態庫是x64還是x86,必須與使用它的平台相對應 2.extern c declspec dllexport void function 其中extern c 的作用是告訴編譯器將被它修飾的 按c語言的方式進行編譯。declspec dllexport 需要在生成動態庫的專案中使用,...

VS2019 實用設定

本文記錄了 vs2019 預覽版使用過程中的一些設定,這些設定也同樣適用於 vs2017,我們可以根據個人的實際情況進行修改。將滾動條設定為map mode後,則該區域會顯示當前整個檔案的縮略示圖,能夠以不同的顏色顯示當前檔案中的修改狀態 錯誤 警告等資訊,便於對當前檔案有個全域性的認識。在 vs2...