go 编写DLL

1package mian 2 3import "C" 4 5//export Min 6func Min(a,b) int32{ 7 if a>b{ 8 return int32(b) 9 } 10 return int32(a) 11}

  编译命令

      go build -ldflags "-s -w" -buildmode=c-shared -o net.dll main.go

1package main 2 3/* 4#include <stdio.h> 5#include <stdlib.h> 6*/ 7import "C" 8 9import ( 10 "unsafe" 11) 12 13func main() { 14 for i := 1; i < 999; i++ { 15 cstr := C.CString("Hello, world") 16 17 C.free(unsafe.Pointer(cstr))//释放内存 必须引入stdlib.h 标准库 18 } 19 20} 21 22//返回文本//export Tostring 23func Tostring(a *C.char) *int32{ 24 text := C.GoString(a) 25 cstr := C.CString(text) 26 //C.free(unsafe.Pointer(cstr)) 27 return (*int32)(unsafe.Pointer(cstr)) 28} 29 30//export Getslice//传输字节集 31func Getslice(CC **C.char,)int{ 32 aa:="fdfdfsfdsfdsfdsfdsfsd" 33 zz:=[]byte(aa) 34 *CC=(*C.char)(unsafe.Pointer(C.CBytes(zz))) 35 return len(zz) 36}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

vue element table 表头添加图标

!(https://oscimg.oschina.net/oscnet/189d567e07e0844612470867b06a35c0aaf.jpg)!(https://oscimg.oschina.net/oscnet/dc3b454d663d8618924b78796345a145b3f.jpg)1<template

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

.net程序反编译工具(ILSpy)

ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C代码。PC官方版!(https://oscimg.oschina.net/oscnet/b35fba9fc6ada998d12775b18290c2348dc.png)C反编译工具ilsp