c语言调用go函数,C中调用go中的回调函数
在用go包装某些c库时(如glut),需要将go函数当作回调函数传递给c库(如glutDisplayFunc(&draw)中的draw函数,我想将go写的函数传过去),应该怎么做?我写了一个示例,但一直不成功,不知道为什么?麻烦知道的帮我解答一下。 代码如下:
/* test.h */
extern void SetFunc();
/* test.c */
#include "test.h"
#include "_cgo_export.h"
void SetFunc() { InternalFunc(); }
/* test.go */
package main
// #include "test.h"
import "C"
import "fmt"
var function func()
//export InternalFunc
func InternalFunc() { function() }
func Register(fnct func()) {
function = fnct
C.SetFunc()
}
func test() { fmt.Println("How should I do it") }
func main() { Register(test) }
///
go run test.go后出现以下错误:
/tmp/go-build592126733/command-line-arguments/_obj/test.cgo2.o: In function `_cgo_be6c2798e9b7_Cfunc_SetFunc':
/home/shikuijie/桌面/Work/Code/src/test.go:32: undefined reference to `SetFunc' collect2: ld 返回 1
c语言调用go函数,C中调用go中的回调函数相关推荐
- java socket 异步回调函数,分享nodejs异步编程基础之回调函数用法
nodejs异步编程基础之回调函数用法分析 本文实例讲述了nodejs异步编程基础之回调函数用法.分享给大家供大家参考,具体如下: Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实 ...
- C语言工作笔记-对函数指针的进一步认识(与回调函数结合使用,并且对比C++的回调)
目录 背景和基本概念(含与C++回调对比) 函数指针最一般的用法 函数指针结合回调 源码打包 背景和基本概念(含与C++回调对比) 毕业也有10个月了,加上实习已经工作14个月了,感觉这一年多的板砖生 ...
- 服务器响应回调函数,解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)...
由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...
- electron中showMessageBox里关于选择按钮回调函数不执行的错误
一般程序在用户点击窗口右上角关闭按钮时会弹出一个对话框,用来询问用户是否退出程序,用户点击取消或者关闭对话框不会关闭程序,点击确定则会退出程序.在写electron应用时也希望添加这个功能,代码如下: ...
- 单片机程序中,Modbus功能码的回调函数如何编写--FreeModbus从站设计(10)
FreeModbus从站设计(10)-Modbus功能码的回调函数如何编写 关键词:FreeModbus CubeMX HAL库 串口 功能码 此系列的前面几篇文章,主要是阐述了用HAL库生成keil ...
- 记录一下Vue中的created函数所踩到的坑(回调函数不立即生效)
在Vue中,经常会在created函数中初始化页面内容.因此,我们常常会在created函数中通过请求后台的方式去获取数据. getAction(this.url.getCurrentUser,{}, ...
- ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值
我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...
- 函数指针,以及用函数指针的好用之处(回调函数)
1.函数指针 定义"函数地址": 如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址)称为这个函数的指针. 函数名就是地 ...
- ajax回调函数有时成功有时失败,javascript - Ajax 回调函数行为随机。我做错了什么?...
我有以下行为随机的 ajax 函数.有时会显示警报 success finally.在其他情况下,第二个警报是 显示 Failure: my status is 500. promptId 从调用函数 ...
- zmq 接口函数之 :zmq_socket_monitor - 注册一个监控回调函数
ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq-socket-monitor zmq_socket_monitor(3) ØMQ Manual - ØMQ/4.1 ...
最新文章
- 使用DPM 2012 Sp1保护SQL server 2012 Sp1
- c hello world_世界上最难的 5 种编程语言!C/C++竟不在其列,它们到底是谁?
- vscode运行html的插件_vscode前端常用插件推荐,搭建JQuery、Vue等开发环境
- c 本地html解析,使用selenium解析本地HTML文件方法
- 浅谈axios.interceptors拦截器
- hadoop上传文件报错
- jquery按名称选择_jQuery按类别选择
- MSP430学习小结3-MSP430基本时钟模块
- android webview 多次加载,关于WebView 重定向行为导致的多次加载的问题
- php ajax mysql视频教学视频_PHP入门教程之AJAX 与 MySQL
- PHP+mysql共享自行车租赁管理系统
- 大庆金桥:基于 SpreadJS 开发实现计量器具检定证书的在线生成与打印
- 微信 打开html文件,微信文件在电脑上打开文件
- 域名由谁管理?申请域名注册服务机构要具备什么条件?
- 我把淘宝当副业,一年全款买了房:你看不起的行业,真的很赚钱
- CTF的认识(勿喷,求饶)
- 计算机设计大赛数媒民族元素类,北京工业大学艺术设计学院
- 【软件测试】软件测试的介绍和分类
- outlook你的邮件服务器证书无效,outlook, webmail.xxx.com 证书无效过期,无法连接到服务器,outlook无法收发邮件...
- 【BP预测】基于猫群算法优化BP神经网络实现数据预测附matlab代码
热门文章
- js中时间戳与日期格式的相互转换
- 请画图说明tcp/ip协议栈_5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南 - Android木子李老师...
- PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程
- java程序中my.ini_帮忙写个JAVA 读写ini配置文件小程序!!!!!
- 天才基本法_【书鱼扫文】天才基本法:天才与中国式青春
- fraction在java_Fraction.java
- [蓝桥杯][基础练习VIP]分解质因数
- android 内部类传值,Android Studio中,从内部类
- 2+22+222+2222(直到n个2的精确计算)
- .net framework与java,分布式事务:.NET Framework与.NET Core