91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GOlang中怎么調用 DLL 類庫

發布時間:2021-06-24 15:51:31 來源:億速云 閱讀:706 作者:Leah 欄目:大數據

GOlang中怎么調用 DLL 類庫,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

DLL 原型
GetDllVersion
函數原型:
unsigned int GetDllVersion(void);
獲取dll版本信息
返回值:DLL版本信息((unsigned int),高字節為主版本信息,低字節為子版本信息
=====================================================================
SetQianNiuPath
函數原型:
int SetQianNiuPath(const char * Path, unsigned int PathLen);
設置千牛安裝路徑(DLL不保存路徑)
參數:
  Path,千牛安裝路徑(最長不要超過255個字符)
  PathLen,安裝你路徑長度
返回值:0 成功
    -1 路徑存在問題
    -2 路徑文件夾不存在
=====================================================================
GO調用DLL
package main

import (
	"fmt"
	"syscall"
	"unsafe"
)

var (
	multiQianniuLogin = syscall.NewLazyDLL("MultiQianniuLoginDll.dll")
	getDllVersion     = multiQianniuLogin.NewProc("GetDllVersion")
)

// 獲取字符串的長度指針
func lenPtr(s string) uintptr {
	return uintptr(len(s))
}

// 獲取數字的指針
func intPtr(n int) uintptr {
	return uintptr(n)
}

// 獲取字符串的指針
func strPtr(s string) uintptr {
	return uintptr(unsafe.Pointer(syscall.StringBytePtr(s)))
}

func main() {
	var ret uintptr
	var err error
	ret, _, err = getDllVersion.Call()
	fmt.Printf("%d.%d\n", byte(ret), uint8(ret>>8))
	fmt.Println(err)
	path := "C:\\Program Files (x86)\\AliWorkbench"
	_, _, err = setQianNiuPath.Call(strPtr(path), lenPtr(path))
	fmt.Println(err)
}
執行結果
$ GOARCH=386 go run main.go
1.0
The operation completed successfully.
SetQianNiuPath, C:\Program Files (x86)\AliWorkbench 35
SetQianNiuPath result 0
The operation completed successfully.

關于GOlang中怎么調用 DLL 類庫問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武安市| 那曲县| 个旧市| 伊金霍洛旗| 苏尼特右旗| 新泰市| 宁化县| 延长县| 汝南县| 安西县| 英山县| 英超| 巴东县| 雅江县| 太谷县| 宁远县| 五家渠市| 辽中县| 泰安市| 武汉市| 德保县| 礼泉县| 弥渡县| 拉萨市| 青州市| 宜城市| 出国| 澄江县| 宝丰县| 盘山县| 鄂托克前旗| 曲周县| 佛冈县| 凌源市| 湛江市| 陈巴尔虎旗| 油尖旺区| 安丘市| 朝阳区| 兴山县| 陇西县|