MCU開発ボードと周辺デバイスをインタフェースするためのコードを記述しています。周辺機器には、使用可能なドライバが付属しています。 d_base.hでC99ドライバとのインタフェースに関する問題
:driver.cで
struct S1 {
void (*funcptr)(int x, int y);
};
:私は、次の形式有するdriver.hで
#include "d_base.h"
#include "driver.h"
static struct S1 const* ptr;
が予め作成された関数があるのためのドライバの一部として周辺装置。これらの機能は、特定の機能が必要な場合は常にptr->funcptr
を参照します。例:
#include "d_base.h"
ptr->funcptr(x,y);
機能の実装は、私が使用しているハードウェアに関連しているので、私に任せてください。次のように
は、それから私はmain.cの中の関数を書いた:
#include "driver.h"
void fun(int x, int y)
{
// do nothing
}
私の質問は、fun
に機能ptr->funcptr
をリンクに関連しています。 ptr-> funcptrが呼び出されるたびに、どのようにコンパイラを関数funにするのですか?
ご協力いただきありがとうございます。あなたがfun
を割り当てることができる場所
なぜC++タグを追加するのですか?それは無関係の言語です。タグをスパムしないでください! – Olaf
これは、MCUドライバの不良インダフェースのようです。それはコードの残りの部分のオーバーオール品質に疑問を呈します。 – Olaf
不要なタグは大変申し訳ございません。 – JayD