首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过SWIG进行包装C回调

问通过SWIG进行包装C回调
EN

Stack Overflow用户
提问于 2011-01-11 05:19:34
回答 1查看 428关注 0票数 1

我试图使用SWIG将一些Gstreamer函数封装到PHP中,但我不知道如何处理C回调。我可以在C中调用PHP函数吗?你将如何处理下面这样的回调?

代码语言:javascript
复制
#include <gst/gst.h>

// ...

static gboolean my_callback(GstBus *bus, GstMessage *message, gpointer user_data) {
  g_print("Got %s message\n", GST_MESSAGE_TYPE_NAME(message));

  switch(GST_MESSAGE_TYPE(message)) {
    // ...
  }

  return TRUE;
}

main(gint argc, gchar *argv[])
{
  GstElement *pipeline;
  GstBus *bus;

  gst_init (&argc, &argv);

  pipeline = gst_pipeline_new ("my_pipeline");

  /* add handler */
  bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); 
  gst_bus_add_watch (bus, my_bus_callback, NULL); // ------------<
  gst_object_unref (bus);

  // ...
}
EN

回答 1

Stack Overflow用户

发布于 2011-01-25 09:30:57

如果你下载最新的swig源码(2.0.1),有一个使用PHP回调的例子。它在swig 2.0.1/Examples/php/callback目录中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4651619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档