機能
ユーザー定義関数と、その変換処理を実装したC言語関数名、ライブラリ名の対応を定義し、そのハンドルを返却します。
記述形式
#include "libAsis.h" /* 公開ヘッダ */ void *AsisLoadFunction( const char *LibraryPath, /* ライブラリ名 */ int FunctionNum, /* ユーザー定義関数の数 */ const char ***Function, /* ユーザー定義関数とC言語関数の対応 */ const char **ErrorMessage /* エラーメッセージ */ |
パラメタ
データ型 | パラメタ | 用途 | 説明 |
---|---|---|---|
char * | LibraryPath | 入力 | ライブラリ名を指定します。 |
int | FunctionNum | 入力 | ライブラリに実装したC言語関数の数を指定します。 |
char *** | Function | 入力 | |
char ** | ErrorMessage | 出力 | エラーの際にメッセージを返却します。 |
ユーザー定義関数の変換処理を実装したC言語アプリケーションが格納された、実行モジュールのライブラリのパスを指定します。
パス名にパス区切り文字が含まれている場合、絶対パスまたはカレントディレクトリからの相対パスとみなします。
パス区切り文字が含まれていない場合、OS標準の探索方法に従ってファイルを探します。
ユーザー定義関数名は、変換処理が実装されたC言語関数名をData Effectorにおいて識別するための名前です。
ユーザー定義関数名は、1つの処理内で一意である必要があります。
ユーザー定義関数名には、以下の文字から成る1文字以上の文字列を使用してください。ただし、ユーザー定義関数名の先頭に、“-”および“.”は指定できません
! | - | . | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : |
@ | A | B | C | D | E | F | G | H | I | J | K | L | M |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z | _ |
` | a | b | c | d | e | f | g | h | I | j | k | l | m |
n | o | p | q | r | s | t | u | v | w | x | Y | z |
C言語関数名には、ライブラリパスで指定した実行モジュールからエクスポートされているシンボルを指定します。
C言語関数名は、C言語に規約に従って作成してください。
参照
ユーザー定義関数の書式については、“4.6 単一行関数(ユーザー定義関数)”を参照してください。
Functionの指定例
復帰値
復帰値 | 説明 |
---|---|
NULL以外 | 関数が正常に終了したことを示します。ライブラリをアンロードする際に使用するハンドルを返却します。 |
NULL | 関数の実行時に問題が検出されたことを示します。ErrorMessageにメッセージを返却します。 |
関数の利用規則
本関数は、スレッドセーフではありません。