具体我在linux环境下工作。这是一个opengl应用程序。在计算某些几何形状后,我希望能够在创建新几何体时触发事件。在C ??
中是否有任何.NET等价的事件谢谢, 毗
答案 0 :(得分:0)
C中的事件使用function callbacks实现。链接的问题有几个答案,解决了如何编码回调。
答案 1 :(得分:0)
使用gnome libraries或gtk+(建立在它之上)?您可以使用函数指针自己完成所有操作,但这是我个人使用的标准事件和回调的唯一“标准”C库。那里也可能有其他人。
答案 2 :(得分:0)
从.NET land翻译:
“事件”只是调用一个函数。为了使这个可配置,你需要给生成“event”的东西一个函数指针。函数指针被调用,并且是“事件”发生时“完成”的事情。
“do”的一个东西是C和C ++中的一个函数。
如果你只想在“事件”上“做”一件事。你会传入一个指向你的函数的指针,这是你想要在你的“事件”上“做”的东西,作为导致“事件”的东西的函数指针。这称为回调。其他帖子有很多关于它是如何工作的例子。
如果您需要在“事件”上“执行”多个事情,则需要使用boost::signal之类的信号/插槽实现。或者如果OpenGL有类似的东西,我会用它。在这种情况下,您有多个回调。
答案 3 :(得分:0)
虽然我不能说我真的推荐使用它们,但可能的替代回调将是信号。
您可以使用signal
说明应如何处理特定信号,并使用raise
发送特定信号。但请注意,对于您在信号处理程序中可以执行的操作存在严重限制。很多代码并不是为了很好地处理信号而编写的,并且相当多的代码假设几乎任何信号都意味着一个严重的问题,即在信号出现问题后继续执行。