Go1 10在編譯成dll小例項

2021-08-13 05:14:44 字數 835 閱讀 8950

package main

import (

"net"

)//必須匯入

import

"c"//編譯成動態庫也是必須的

func main() {}

//export inte***ces

func inte***ces(list string, retlen *int) string

for i, v := range interf

list[i] = v.string()

}*retlen = len(list)

return

""}

編譯命令:go build -ldflags "-s -w" -buildmode=c-shared -o net.dll main.go

在當前資料夾會生成兩個檔案net.dll net.h

下面是使用:

#include 

#include

#include

#include "net.h"

int main()

gostring* st=(gostring*)(slice.data);

for (int i=0

;i free(slice.data);

slice.data=null;

return 0

;}

盡量不要用返回值來在c中處理,因為go code不能在c分配的記憶體中儲存指向go分配的記憶體的指標,這個很重要,不然你就會在使用過程中各種崩潰,

將Js檔案編譯成dll檔案

1.向專案中新增jscript檔案 script 1.js function doclick1 script 2.js function doclick2 2.解決方案資源管理器中,右鍵檢視script 1.js和script 2.js的屬性,把高階中的 生成操作 屬性設定成 嵌入的資源 3.向as...

編譯成dll的專案使用方式

寫專案的時候,可以選擇使用或者不用動態鏈結庫 動態鏈結庫優點挺多,可以把軟體專案更模組化,如果只是變動其中乙個模組,替換對應的dll就可以了 在選擇把某個模組編譯成dll的時候,需要指明,哪些是外部可以用的,哪些是不給用的 ifdef basefunc export define base api ...

把CS檔案編譯成dll檔案

編譯方法如下 一.開啟vs.net的c命令提示 二.進入目錄 三.輸入如下命令 csc t library out f md5.dll f md5.cs 常用 如圖 如何做才能夠把cs檔案編譯成dll且自動放到虛擬目錄的bin資料夾中呢?開始 程式 microsoft visual studio.n...