[Suzaku:00648] Re: timerのmakeエラー
Yasushi SHOJI
email@hidden
2006年 9月 24日 (日) 23:18:48 JST
At Sun, 24 Sep 2006 17:28:38 +0900,
高橋 秀雄 wrote:
>
> Suzaku-V用のアプリに、カーネルタイマー(add_timer,del_timer,init_timer)
> を使用してポーリング処理を追加し、makeすると以下のエラーが生じます。
>
> cv_read.o(.text+0x158): In function `rtdsend_timer_register':
> : undefined reference to `del_timer'
> cv_read.o(.text+0x1b8): In function `rtdsend_timer_register':
> : undefined reference to `add_timer'
> collect2: ld returned 1 exit status
> make: *** [cv_read] エラー 1
ごめんなさい。linuxの場合、アプリケーションから直接カーネルの関数を使
うことはできません。組み込み系OSだと kernelをアプリからリンクするよう
な感じで使えて便利なんですが、Linuxだとできないんです。
アプリケーションからLinuxのサービスを使用する場合は、かならずシステム
コールのインターフェースを使う必要があります。また、多くの場合はCライ
ブラリがラッパーの役目をしてくれるので、煩雑なsystem callインターフェ
イスを使う必要はありません。
アプリケーションでタイマーを使うのであれば
- gettimeofday
- time
- sleep/usleep
- setitimer/alarm
などが常套手段でしょうか? もうすこしポーリング処理について教えてもら
えますか?
--
yashi
suzaku メーリングリストの案内