EL_Link*

構文

#include <twl/el.h>

ELDlld EL_Link( ELReadImage readfunc, u32 len, void* buf );
ELDlld EL_LinkFile( const char* FilePath, void* buf);
ELDlld EL_LinkImage( void* obj_image, u32 obj_len, void* buf );

引数

readfunc ユーザー独自の READ 関数
FilePath 登録する動的モジュールのパス名
obj_image 登録する動的モジュールのメモリ上のアドレス
len / obj_len 登録する動的モジュールのサイズ
buf 動的モジュールの登録先となるバッファ

返り値

登録に成功した場合、登録した動的モジュールが返ってきます。
登録に失敗した場合は 0 が返ってきます。

説明

動的モジュールをELライブラリに登録します。

EL_Link() は、ユーザーが指定した READ 関数を使用して、動的モジュールを読み込みます。
EL_LinkFile() は、登録する動的モジュールを ROM から読み込みます。
EL_LinkImage() は、メモリに読み込み済みの動的モジュールを使用します。

buf には、EL_CalcEnoughBufferSizeforLink*() で求めたサイズ以上の 領域を確保しておく必要があります。

また、あくまで動的モジュールの登録先のバッファは buf なので、EL_LinkImage() で動的モジュールの登録作業を行う場合には、 一時的に動的モジュール(ELFファイル)のサイズ分のバッファ(obj_image)が追加で必要となることに注意してください。

注意
デバッガを利用して動的モジュールをデバッグできるのは EL_LinkFile() を使用した場合のみという点に注意してください。
また、通常は本関数ではなく EL_Link*Ex() を使用するようにしてください。

参照

EL_Link*Ex, EL_CalcEnoughBufferSizeforLink*, ELReadImage

履歴

2009/03/16 EL_Link*Ex() の使用の推奨を追加
2009/01/30 buf に確保するサイズについて説明変更
2008/10/02 buf に確保するサイズについて説明追加
2008/04/22 デバッガについて追記
2008/04/14 EL_LinkFile() の仕様変更
2007/08/21 初版