vb沒法定位 dll函式入口點

2021-05-23 08:44:13 字數 457 閱讀 5618

找不到入口點有以下幾種情況:

1、沒有注意大小寫。

在win32中,dll的函式和vb的函式中必須大小寫相同。

2、沒有宣告入口函式。

你需要在dll的*.def檔案中加上入口函式,如:

exports

setdata @1

getdata @2

這樣vb程式就可以訪問setdata和getdata函式了。其中@1、@2是這兩個函式的引用序號,通常在vb中不使用

3、採用c++編譯方式。

在c++中編譯函式時會將函式名進行轉換,如將dll中的kk(double k)轉換為_kk@8。解決的辦法有兩種:

(1)如果沒有使用c++的類,可以將.cpp檔案改名為.c,就不進行這種轉換了。

(2)在函式定義前加上extern 'c' ,如:

extern 'c' void _stdcall kk(double k)

DLL入口函式DllMain

bool apientry dllmain hmodule hmodule,dword ul reason for call,lpvoid lpreserved return true 通過第二個引數ul reason for call來區分當前dll狀態 dll process attach 當乙...

Dll入口函式引數詳解

dll程式入口點函式 dllmain,注意 大小寫是區別的 僅匯出資源的dll可以沒有dllmain函式 函式原型 bool apientry dllmain hmodule hmodule,dword ul reason for call,lpvoid lpreserved 引數意義 hmodul...

DLL入口點函式DllMain

每個dll都可以有乙個入口點函式dllmain,系統會在不同的時刻呼叫此函式。以下是dllmain的一般形式 bool winapi dllmain hinstance hinstdll,handle to dll module dword fdwreason,reason for calling ...