首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建库函数

问创建库函数
EN

Stack Overflow用户
提问于 2017-07-22 20:10:38
回答 2查看 75关注 0票数 0

我用C语言创建了一个函数库。其将由用户通过用户界面应用程序来访问。现在我需要创建一个独立的模块,它将被库函数使用。当我调用任何库函数时..新函数(独立模块)也应该并行或并发运行​。

EN

回答 2

Stack Overflow用户

发布于 2017-07-22 21:19:31

为UI应用编写可移植的库非常困难。它依赖于操作系统和UI框架。

Posix定时器(Timer_create)是每个进程的定时器。它可能与您的UI框架或其他库不兼容。我建议使用UI框架,因为大多数现代UI框架都是事件驱动的,它内置了(大多数)毫秒精度的计时器。定时器回调是在运行mainloop的(main)线程中调用的。

我可以想象有两种方法。

  1. 为每个UI框架编写定时器库,无论何时遇到新的UI框架,您都可以添加相同接口的新实现。我敢打赌你只需要一两个。
  2. 编写带有依赖反转接口的定时器库。您可以使用一组回调来设计定时器接口,例如one_shot_timer_start_callback、periodic_timer_start_callback等。设计意图是让app有责任通过这些回调初始化库。您可以为每个UI框架提供示例回调集。

在这两种情况下,都必须使用UI框架上下文(或视图)初始化库。

票数 1
EN

Stack Overflow用户

发布于 2017-07-22 20:26:20

您可以使用alarm()触发SIGALRM信号,并在调用SIGALRM之前通过signal()设置alarm()处理程序。

信号处理程序将在经过指定的秒数后调用

如果需要微秒级别的计时器,可以使用ualarm

编辑:正如@alk ualarm提到的,它被标记为过时,你可以使用time_create系列函数来创建和设置定时器

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

https://stackoverflow.com/questions/45254396

复制
相关文章

相似问题

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