在用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中的回调函数相关推荐

  1. java socket 异步回调函数,分享nodejs异步编程基础之回调函数用法

    nodejs异步编程基础之回调函数用法分析 本文实例讲述了nodejs异步编程基础之回调函数用法.分享给大家供大家参考,具体如下: Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实 ...

  2. C语言工作笔记-对函数指针的进一步认识(与回调函数结合使用,并且对比C++的回调)

    目录 背景和基本概念(含与C++回调对比) 函数指针最一般的用法 函数指针结合回调 源码打包 背景和基本概念(含与C++回调对比) 毕业也有10个月了,加上实习已经工作14个月了,感觉这一年多的板砖生 ...

  3. 服务器响应回调函数,解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)...

    由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...

  4. electron中showMessageBox里关于选择按钮回调函数不执行的错误

    一般程序在用户点击窗口右上角关闭按钮时会弹出一个对话框,用来询问用户是否退出程序,用户点击取消或者关闭对话框不会关闭程序,点击确定则会退出程序.在写electron应用时也希望添加这个功能,代码如下: ...

  5. 单片机程序中,Modbus功能码的回调函数如何编写--FreeModbus从站设计(10)

    FreeModbus从站设计(10)-Modbus功能码的回调函数如何编写 关键词:FreeModbus CubeMX HAL库 串口 功能码 此系列的前面几篇文章,主要是阐述了用HAL库生成keil ...

  6. 记录一下Vue中的created函数所踩到的坑(回调函数不立即生效)

    在Vue中,经常会在created函数中初始化页面内容.因此,我们常常会在created函数中通过请求后台的方式去获取数据. getAction(this.url.getCurrentUser,{}, ...

  7. ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值

    我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...

  8. 函数指针,以及用函数指针的好用之处(回调函数)

    1.函数指针 定义"函数地址": 如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址)称为这个函数的指针. 函数名就是地 ...

  9. ajax回调函数有时成功有时失败,javascript - Ajax 回调函数行为随机。我做错了什么?...

    我有以下行为随机的 ajax 函数.有时会显示警报 success finally.在其他情况下,第二个警报是 显示 Failure: my status is 500. promptId 从调用函数 ...

  10. zmq 接口函数之 :zmq_socket_monitor - 注册一个监控回调函数

    ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq-socket-monitor zmq_socket_monitor(3) ØMQ Manual - ØMQ/4.1 ...

最新文章

  1. 使用DPM 2012 Sp1保护SQL server 2012 Sp1
  2. c hello world_世界上最难的 5 种编程语言!C/C++竟不在其列,它们到底是谁?
  3. vscode运行html的插件_vscode前端常用插件推荐,搭建JQuery、Vue等开发环境
  4. c 本地html解析,使用selenium解析本地HTML文件方法
  5. 浅谈axios.interceptors拦截器
  6. hadoop上传文件报错
  7. jquery按名称选择_jQuery按类别选择
  8. MSP430学习小结3-MSP430基本时钟模块
  9. android webview 多次加载,关于WebView 重定向行为导致的多次加载的问题
  10. php ajax mysql视频教学视频_PHP入门教程之AJAX 与 MySQL
  11. PHP+mysql共享自行车租赁管理系统
  12. 大庆金桥:基于 SpreadJS 开发实现计量器具检定证书的在线生成与打印
  13. 微信 打开html文件,微信文件在电脑上打开文件
  14. 域名由谁管理?申请域名注册服务机构要具备什么条件?
  15. 我把淘宝当副业,一年全款买了房:你看不起的行业,真的很赚钱
  16. CTF的认识(勿喷,求饶)
  17. 计算机设计大赛数媒民族元素类,北京工业大学艺术设计学院
  18. 【软件测试】软件测试的介绍和分类
  19. outlook你的邮件服务器证书无效,outlook, webmail.xxx.com 证书无效过期,无法连接到服务器,outlook无法收发邮件...
  20. 【BP预测】基于猫群算法优化BP神经网络实现数据预测附matlab代码

热门文章

  1. js中时间戳与日期格式的相互转换
  2. 请画图说明tcp/ip协议栈_5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南 - Android木子李老师...
  3. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程
  4. java程序中my.ini_帮忙写个JAVA 读写ini配置文件小程序!!!!!
  5. 天才基本法_【书鱼扫文】天才基本法:天才与中国式青春
  6. fraction在java_Fraction.java
  7. [蓝桥杯][基础练习VIP]分解质因数
  8. android 内部类传值,Android Studio中,从内部类
  9. 2+22+222+2222(直到n个2的精确计算)
  10. .net framework与java,分布式事务:.NET Framework与.NET Core