ローダー

API

ローダー関連のAPIを使用するには、solid_loader.h をインクルードしてください。

#include "solid_loader.h"

SOLID_LDR_GetAddr

int SOLID_LDR_GetAddr(const char *pName, SOLID_ADDRESS *pAddr)

エクスポートされたシンボルのアドレスを取得します

パラメータ:
  • pName -- シンボル名(文字列,NUL終端)
  • pAddr -- 取得したアドレス
戻り値:

SOLID_LDR_LoadFile

int SOLID_LDR_LoadFile(const char *pName, const char *pFilename)

ファイルシステムからロード処理を行います

パラメータ:
  • pName -- ロードオブジェクト名(文字列,NUL終端)
  • pFilename -- ロードするファイル名(文字列,NUL終端)
戻り値:

SOLID_LDR_CanExec

int SOLID_LDR_CanExec(const char *pName, SOLID_ADDRESS *pAddr)

指定されたロードオブジェクトが実行可能かを確認します

パラメータ:
  • pName -- ロードオブジェクト名(文字列,NUL終端)
  • pAddr -- 実行開始アドレス
戻り値:

  • 1: 実行可能
  • 0: 実行不可(シンボル解決が終了していない)
  • それ以外: エラー

SOLID_LDR_UnLoad

int SOLID_LDR_UnLoad(const char *pName)

指定されたロードオブジェクトをアンロードします

パラメータ:pName -- ロードオブジェクト名(文字列,NUL終端)
戻り値:

SOLID_LDR_RegisterSymbol

int SOLID_LDR_RegisterSymbol(const char *pName, SOLID_ADDRESS addr)

シンボル情報を登録します

パラメータ:
  • pName -- シンボル名(文字列,NUL終端)
  • addr -- アドレス
戻り値:

SOLID_LDR_CheckUnresolved

int SOLID_LDR_CheckUnresolved(void)

未解決シンボルの数を確認します

戻り値:未解決シンボルの総数