我正在将一些 C# 代码(主要是类)移植到 C。我已经分析了代码,并且移植绝对是可能的。我不确定的一件事是如何在 C 中处理(即实现)引发事件。
我在 Linux 环境中,我希望二进制文件只能在 Linux 上运行。我听说 GLib 支持事件,但对此知之甚少 - 任何帮助将不胜感激。
一个引发事件并在 C 中处理它的 hello world 示例将非常有用。
GLib 实现的 C# 事件的关闭是GObject 信号。
用于g_signal_connect
将回调连接到现有信号,并g_signal_emit
发出已注册的信号。有关详细信息,请参阅文档。
由于您来自 C# 背景,您还可以考虑使用Vala,这是一种围绕 GObject 对象系统构建的编程语言,可编译为 C,并且感觉类似于 C# 或 Java。