我正在使用Go来构建一个DLL。
我无法实现Windows DllMain入口点。
我的目标是当应用程序通过LoadLibrary加载dll以调用该方法时,也会调用。但是,目前该应用程序陷入了死锁,没有任何反应。TestDllMain
该应用程序是非常简单的python代码
# App code
import ctypes
lib = ctypes.CDLL("./mydll.dll")
lib.Test()
笔记:
我正在使用
go version go1.16.4 windows/amd64
和建筑使用
go build -o mydll.dll --buildmode=c-shared
如果我删除,一切正常,应用程序可以成功调用该方法。DllMainTest
我知道我可以在案例下指定条件,例如流程附加,分离...等等,我只是想让它尽可能简单。switchDllMain
//Go Code
package main
import "C"
import (
"fmt"
"os"
)
//export Test
func Test() {
os.Create("fooFile")
}
//export DllMain
func DllMain(a uintptr, b uint32, c uintptr) int32 {
return 1
}
func main() {
}
哆啦的时光机
相关分类