私はC言語でライブラリ関数を作成しました。これは、ユーザーインターフェイスアプリケーションを介してユーザーがアクセスします。今私は、ライブラリ関数によって使用される独立したモジュールを作成する必要があります。そして、ライブラリ関数を呼び出すと、新しい関数(独立したモジュール)も並行して実行するか、並行して実行する必要があります。ライブラリ関数の作成
答えて
alarm()
を使用してSIGALRM
シグナルをトリガーし、を使用してSIGALRM
ハンドラーを設定してからalarm()
を呼び出すことができます。
あなたはマイクロ秒レベルでタイマーを必要とする場合にualarm
を使用することができます
シグナルハンドラが呼び出されます
編集:@alk ualarm
で述べたように、それは廃止とマークされ、あなたをタイマーの作成と設定にtime_createファミリーファンクションを使用できます
'ualarm()'はPOSIX.1-2001によって廃止とマークされています。 – alk
UIアプリケーション用のポータブルライブラリを作成するのは非常に難しいです。 OSとUIフレームワークに依存します。
Posixタイマー(timer_create)はプロセスごとのタイマーです。 UIフレームワークや他のライブラリと互換性がない可能性があります。現代のUIフレームワークの大部分は(ほとんど)ミリ秒の解像度でタイマーを組み込んだイベント駆動型なので、私はUIフレームワークを利用することを提案します。タイマーコールバックはmainloopが動作する(メイン)スレッドで呼び出されます。
私は2つのアプローチを想像することができます。新しいUIフレームワークに会った時はいつでもあなたが同じインターフェイスの新しい実装を追加することがあり 各UIフレームワークの
- 書き込みタイマーLIB。私はあなたが1つか2つしか必要でないと確信しています。
- 依存関係の反転インターフェイスを持つタイマーライブラリを作成します。 one_shot_timer_start_callback、periodic_timer_start_callbackなどのコールバックのセットでタイマーAPIを設計することができます。設計意図は、アプリケーションがこれらのコールバックでlibを初期化する責任を負うことです。 UIフレームワークごとにサンプルコールバックを設定できます。
いずれの場合も、UIフレームワークコンテキスト(またはビュー)でlibを初期化する必要があります。
ありがとうございます:)とても役に立ちます。 – Sona
- 1. ファクトリ関数をエクスポートするライブラリの型スクリプト定義の作成
- 2. ライブラリ関数:リストとしてのセットを作成する
- 3. マインドマップをプログラムで作成するためのライブラリ/関数/クラス?
- 4. 奇妙な動作のBitcoinライブラリ関数
- 5. 追加のColdFusion XML操作関数/ライブラリ
- 6. 関数のライブラリtypescript
- 7. GWTライブラリの作成
- 8. 作成cmakeのライブラリ
- 9. Python関数オブジェクトの作成
- 10. Rcpp:テンプレート関数の作成
- 11. 自己書き込み関数のjavascriptライブラリを作成する方法
- 12. 別()関数、ライブラリ(tidyverse)
- 13. 角2関数ライブラリ
- 14. DirectX CreateOverlay関数ライブラリ?
- 15. C++でのライブラリの作成
- 16. 同じライブラリで作成されたスプレッドシートのドロップダウンメニューからライブラリ関数を呼び出す方法
- 17. 静的ライブラリのシム関数
- 18. Pythonの関数算術ライブラリ
- 19. itertoolsライブラリのtee関数
- 20. 関数インタフェース用のPythonライブラリ?
- 21. カスタムハッシュ関数用のPythonライブラリ
- 22. unistd.hライブラリのgetopt()関数
- 23. gccライブラリ関数のマニュアルページ
- 24. ライブラリ関数の復旧
- 25. DCGライブラリ関数のプロローグタイプエラー
- 26. R関数を作成
- 27. liquibase postgresql作成関数
- 28. オフセット関数作成エラー(VBA)
- 29. matlabで関数を作成
- 30. dplyrで関数を作成
既に 'alarm()'を見たことがありますか? – alk
私はtime.hのclock関数を使用しています。タイマーはマイクロ秒またはミリ秒で表します。 – Sona
POSIXの場合、 'timer_create()'とFriends – alk