1

背景:MicriumによるuC / OS-IIIユーザーズマニュアルを読んでおり、そのガイドに従って、IAR EmbeddedWorkbenchIDEを使用してCでプログラミングしています。

コードは、uC-Eval-STM32F107開発ボード用に書かれた本で提供されているいくつかの例からのものです。新しいスレッドを作成し、voidポインタで引数を渡します。私はvoidポインタとスレッドへの引数の受け渡しに精通しています。

新しいスレッドを作成するためにカーネル関数が呼び出されます。

OSTaskCreate( ... );

次に、関数定義内で、説明する方法がわからないことを実行します。

static  void  AppTaskStart (void *p_arg)
{
    CPU_INT32U  cpu_clk_freq;
    CPU_INT32U  cnts;
    OS_ERR      err;
    CPU_TS  ts;


   p_arg = p_arg;

    ...
}

または、他の例でもコードは次のようになっています。

(void *)p_arg;

彼らは何をしているのですか、そしてその理由は何ですか?

4

1 に答える 1

2
 p_arg = p_arg;

また

(void *)p_arg;

未使用の変数に関する警告を抑制するためにそこに配置されますp_arg

于 2013-01-02T19:29:56.650 に答える