#include <Windows.h>
// Function pointer typedef for the DLL function
typedef int (*MyDLLFunction)(int);
int main() {
// Load the DLL
HMODULE dllHandle = LoadLibrary("mydll.dll");
if (dllHandle == nullptr) {
// DLL loading failed
// Handle the error accordingly
return 1;
}
// Get the function address from the DLL
MyDLLFunction dllFunction = reinterpret_cast<MyDLLFunction>(
GetProcAddress(dllHandle, "MyDLLFunction"));
if (dllFunction == nullptr) {
// Failed to retrieve the function address
// Handle the error accordingly
return 1;
}
// Call the DLL function
int result = dllFunction(42);
// Process the result...
// Unload the DLL
FreeLibrary(dllHandle);
return 0;
}
1条答案
按热度按时间mzsu5hc01#
你可以用二进制编辑器打开.exe,并在.exe的第一部分添加一些编译的c++,这样代码就可以看起来像这样:
编译这个文件,在二进制编辑器中打开.o或.bin文件,复制粘贴到可执行文件中--注意--这是针对windows的,在另一个操作系统上,你可能需要搜索“如何在linux上将.dll链接到c++”
我刚意识到这根本没有回答你的问题,你可以从文件中复制二进制文件,然后将它们添加到.exe文件中,我和你有点关系,我喜欢把所有的东西都放在一个文件中。