zoukankan      html  css  js  c++  java
  • glibgenmarshal的使用,如何使用自定义的signal函数

    g_closure_marshal提供了一些常用的closure的实现,但是由于返回值和参数列表的可能性实在太多,无法穷举,所以,gobject提供了一个程序:glib-genmarshal来帮我们生成指定的closure的实现(自动生成代码)。
    在当前目录下创建一个文件,比如:marshal.list,包含内容如下:
    VOID:UINT,UINT
    就是返回值和参数列表。然后:
    glib-genmarshal --header --prefix=gst_play_marshal marshal.list
    这样就生成了头文件的内容,保存下来存成gstplay-marshal.h,搞定。
    glib-genmarshal --body --prefix=gst_play_marshal marshal.list
    生成了.c文件的内容,保存成gstplay-marshal.c,搞定。在这个.c的第一行再添加一句:#include "gstplay-marshal.h",这句不会自动生成。
    这样就有了gst_play_marshal_VOID__UINT_UINT这个函数了。
  • 相关阅读:
    【动态规划】合唱团
    【动态规划】抄近路
    【动态规划】机器人军团
    【贪心】赶作业
    【贪心】时空定位I
    【贪心】雷达问题
    【贪心】监测点
    【贪心】闭区间问题
    设计与实现
    Hello World
  • 原文地址:https://www.cnblogs.com/super119/p/1902183.html
Copyright © 2011-2022 走看看