Renesas Synergy™

FAQ 104073 : C言語を用いて、特定アドレスに配置された関数をアドレス値により直接コールする方法を教えて下さい。

回答

0x10000番地の関数をコールする場合の例を示します。

(例1)

typedef void (*FUNC)(void);
const FUNC func = (FUNC)0x10000;

void main(void){
func();
}

(例2)

void main(void){
((void (*)(void))0x10000)();
}

(例3)

typedef void(*FUNC)(void);

void main(void){
((FUNC)0x10000)();
}

(例4)

void main(void){
void (*func2)(void);
func2 = (void(*)(void))0x10000;
func2();
}
適用製品
SuperHファミリ用C/C++コンパイラパッケージ
H8SX,H8S,H8ファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください