golang怎么编译调用dll文件
编译
exportgo.gopackage main import "C" /* export PrintBye 的意思是将PrintBye方法通过PrintBye名暴露出去 */ //export PrintBye func PrintBye() { /* 这里是只能用println 不能用:log.Println()和fmt.Println() */ println("From DLL: Bye!") } //export Sum func Sum(a C.int, b C.int) C.int { return a + b } //export Sub func Sub(a C.int, b C.int) C.int { return a - b } //export Hello func Hello(a C.int, b C.int) C.int { return a * b } func main() { // Need a main function to make CGO compile package as C shared library }
编译>go build -buildmode=c-shared -o exportgo.dll exportgo.go
编译完成后,生成exportgo.dll和exportgo.h调用
Called.gopackage main import "C" import ( "log" "syscall" ) func main() { log.SetFlags(log.LstdFlags | log.Lshortfile) F4(50,30) F5(50,30) F6() } func F4(int1, int2 int) { log.Println(int1, int2) //引入dll文件方法1 dll := syscall.MustLoadDLL("exportgo.dll") //使用完后要释放 defer dll.Release() //调用dll的方法Sum proc := dll.MustFindProc("Sum") //使用sum函数,传递参数int1和int2 call, u, err := proc.Call(uintptr(int1), uintptr(int2)) //输出结果call log.Println(call) log.Println(u) log.Println(err) } func F5(int1, int2 int) { //引入dll文件方法2 dll := syscall.NewLazyDLL("exportgo.dll") //调用dll的方法Sub proc := dll.NewProc("Sub") //使用Sub函数,传递参数int1和int2 r, err, msg := proc.Call(uintptr(int1), uintptr(int2)) //输出结果r log.Println(r) log.Println(err) log.Println(msg) } func F6() { //引入dll文件 dll := syscall.NewLazyDLL("exportgo.dll") //调用dll的方法PrintBye proc := dll.NewProc("PrintBye") //调用dll的方法,不传递任何值 r, err, msg := proc.Call() //输出结果r log.Println(r) log.Println(err) log.Println(msg) } 执行结果2022/03/26 14:48:00 Called.go:16: 50 30 2022/03/26 14:48:00 Called.go:26: 80 2022/03/26 14:48:00 Called.go:27: 8791506616320 2022/03/26 14:48:00 Called.go:28: The operation completed successfully. 2022/03/26 14:48:00 Called.go:38: 20 2022/03/26 14:48:00 Called.go:39: 8791503994880 2022/03/26 14:48:00 Called.go:40: The operation completed successfully. From DLL: Bye! 2022/03/26 14:48:00 Called.go:50: 0 2022/03/26 14:48:00 Called.go:51: 8791503994880 2022/03/26 14:48:00 Called.go:52: The operation completed successfully.
盒马再成小众生鲜伯乐,水果莲子已扩产10倍每天上午8点,和姐妹们结伴步行到不远处的工坊剥水果莲子,是戴红香老人近一个月来的日常。我今年70岁了。戴红香对现在的生活很是满意,每天在家待着实在很无聊,在这里嘛有事做,剥莲子又很
PHA马上要开始挖矿了!关于PHA项目你需要了解这些今天,我们不谈以太坊也不谈比特币,小编要为大家介绍的是最近关注度颇高的PHA项目。为何今天会提到PHA项目呢?那是因为近期有个消息传出PHA马上要开始挖矿了!作为目前波卡生态里实力
2020年7月EATX平台配置推荐(英特尔)EATX平台,指主机中包含EATX主板的平台,一般价格较高,扩展性强。EATX平台的分类HEDT(HighEndDesktop,高端桌面)平台,Server(服务器)平台和Work
周末复盘段永平买苹果股票9年9倍的逻辑截止周五美股收盘,苹果股价以微涨0。23收于310。33美元,市值1。36万亿美元,再次突破历史新高,市值稳坐全宇宙第一。本部落是段永平的老粉丝了,从以前的网易博客时代一直追到现在
矿视界译文以太坊离权益证明还有多远?随着NFT和DeFi的持续升温,以太坊2。0开发者迫切希望权益证明网络可以尽快上线。自主网上线以来,以太坊就开始使用与比特币相同的工作量证明机制,不过这几年间,以太坊开发者却一直在
太攀之后有它亦是幸,雷蛇锐蝮蛇开箱图赏在太攀皇蛇下市之后,在300400元价位上雷蛇打出了锐蝮蛇,设计感更强的它和巴塞利斯成为MOBA游戏时代的纯右手和对称式的两把利器。而在巴塞利斯往下覆盖199价位的时候,锐蝮蛇则往
告诉你最新的棱镜轴长什么样子(拆解)什么是棱镜轴?Flaretech棱镜轴,严格来说是光轴的一种,但和传统光轴的直线光路导通不同,它利用了三棱镜折射的原理,这么折一次后再实现导通。这其实并非刻意的炫技和标新立异,而是
高阶自动驾驶的量产车型摩卡预售17。984月19日,WEY品牌全球代言人WEY摩卡首席智能体验官姚安娜,空降上海车展智动WEY来摩卡专属日,携手全球首款智能汽车人WEY摩卡,为现场粉丝呈现了车展史上自动驾驶走秀,书写了其
WEY玛奇朵诠释传承与创新日前,新一代混动SUVWEY玛奇朵正式发布官图,预示着WEY品牌智能混动时代即将到来。玛奇朵基于WEY品牌家族先锋张力美学概念,塑造未来科技感,同时又以敏锐青春的产品设计理念标签,
高阶自动驾驶的量产车型摩卡预售17。984月19日,WEY品牌全球代言人WEY摩卡首席智能体验官姚安娜,空降上海车展智动WEY来摩卡专属日,携手全球首款智能汽车人WEY摩卡,为现场粉丝呈现了车展史上自动驾驶走秀,书写了其
秉持传统的电竞鼠标,ZOWIE卓威EC1B拆解除了引擎性能的提升,近几年游戏鼠标的进步更多的在体验细节上,尤其是中高端鼠标。在电竞市场的刺激下,一线厂商还需在RGB灯光系统超轻量化设计和极致按键手感等方面有更高的追求。所以,不
为什么那么多人嘴上说着支持国产,却用着苹果手机?我用的是华为感谢您的阅读!为什么很多人嘴上说着支持国产手机,但使用的却是苹果手机?实际上,我们在日常使用手机的过程中,会发现国产手机有了自己的特色,也有了自己的不足。但同时你会发现
快看!2021年湖南十大科技新闻出炉三湘都市报新湖南客户端1月13日讯(全媒体记者杨斯涵黄京)扎实推进科技治理体系和治理能力现代化,奋力打造具有核心竞争力的科技创新高地2021年,湖南重大科技创新成果不断刷屏。今天,
小辣椒M10Pro魅族魅蓝10参数报价对比小辣椒M10Pro手机机型小辣椒M10Pro魅族魅蓝10最新价格729元799元屏幕尺寸6。8英寸6。5英寸屏幕类型TFTLCDLTPS分辨率16007201600720像素282
湖南女孩成超幸运弃婴被世界首富领养网友直呼命运神奇据2022年,福布斯全球富豪实时排行榜上,以1914亿美元的财富,杰克。贝佐斯获得世界首富之位。说起世界首富,大家第一个想到的应该是熟悉的比尔盖茨?作为亚马逊集团的创始人兼首席CE
小鹏P7NGP自动导航辅助驾驶公测版将开放2021年1月22日昨日晚间,小鹏汽车正式开启P7车型新一轮OTA升级的小范围公测,XmartOS对应版本号为2。5。0,本次OTA升级是小鹏汽车史上推送功能最多最大的一次,具有历
研究拓展麦克斯韦方程组指导高速运动(记者韩扬眉)中科院北京纳米能源与系统研究所所长首席科学家,中科院外籍院士王中林经过数年研究和实验验证,对麦克斯韦方程组进行了成功拓展。拓展型麦克斯韦方程组将麦克斯韦方程组基于静态
第八篇Facebook更名注最近很多熟悉的公司都宣布加入元宇宙,所以作为前沿领域,发现速度非常快,变化也很多一Facebook改名的难度1市值万亿美金,不是扎克伯克说改就改2如果改了之后资本市场是否接受3如
德生科技人工智能及区块链技术已应用到一卡通运营本报见习记者王镜茹近日,在深交所互动易上,有投资者问到德生科技是否在各地的一卡通运营实践中应用到人工智能区块链等相关技术。德生科技表示目前公司在上述领域均有具体应用场景。其中,在人
未来十年,有哪些职业会消失?说起AI(人工智能),我们最耳熟能详的应属谷歌阿尔法狗(AlphaGo)。2017年5月,在中国乌镇围棋峰会上,阿尔法狗与排名世界第一的世界围棋冠军柯洁对战,并以3比0的总比分获胜
饿了么保障骑手权益新业态发展平稳近几年随着外卖平台的发展,外卖骑手已经成为一项职业,越来越多的人选择从事外卖配送工作,不过随着外卖产业的蓬勃发展,外卖骑手的安全保障与职业发展权益并没有随之跟进,矛盾日渐凸显,针对
Vue3的ref和reactive区别及使用Vue3官方文档中定义响应式数据使用ref()或者reactive()一ref的研究1)ref创建一个响应式数据,一般来说用于创建简单类型的响应式对象,比如StringNumber