いいえ、シンボルの名前はコード内の名前から派生しています。Windows では、C または C++ を想定します。
HMODULE module=LoadLibrary( [path to your dll] );
//If the exported name is foo.
Function foo=(Function)GetProcAddress(module,"foo");
//Call function
foo();
FreeLibrary(module);
エクスポートされた名前はコンパイラに依存します。
実際、そのような命名スキームはまったく役に立ちません。C++では、次のようなものを使用できます(関数プロトタイプごとに1つのFunctionCallerがあることに注意してください)
FunctionCaller("your-dll.dll/foo")();
FunctionCaller のコンストラクターがライブラリーをロードし、foo を呼び出してライブラリーを解放します。ただし、次の理由で良くありません。
あなたがすることは
ライブラリをロードする
必要な関数をロードする
関数を使用する
ライブラリを解放する
ここでは、一度に複数のシンボルを参照する必要があり、uri よりも複雑なスキームが必要になります。
編集:そのような関数を呼び出す利便性が必要な場合は、読み込まれたすべてのモジュールを保持し、読み込まれた各ライブラリの関数名からアドレスへのマップを含む、生き残った FunctionCaller オブジェクトを持つことができます。