そこで、Epic が Unreal Engine 4 の新しい開発者向け機能を紹介したこのビデオを数か月前に見ました。申し訳ありませんが、ビデオを見つけることができませんでしたが、説明するために最善を尽くします。
私の注意を引いた機能の 1 つは、C++ の「オンザフライ」の変更とコンパイルです。男はエディタでゲームをプレイしている様子を示し、コード内のいくつかの変数を変更して保存すると、変更がすぐにゲームに反映されました。
だから私は疑問に思っていました...どうすればこれを達成できますか? 現在、私は2つの可能性のある方法を考えることができます.デマであり、C ++自体ではなく「cスタイル」のスクリプト言語のみであったか、共有ライブラリ(読み取り:DLL)マジックです。
これが私が自分で試してみるために作ったものです(簡略化):
for(;;)
{
Move DLL from build directory to execution directory
Link to DLL using LoadLibrary() / dlopen() and fetch a pointer to function "foo()" from it
for(;;)
{
Call the function "foo()" found in the dll
Check the source of the dll for changes
If it has changed, attempt to compile
On succesfull compile, break
}
Unload DLL with FreeLibrary() / dlclose()
}
今はうまくいっているようですが、他にどんな方法があるのだろうかと思わずにはいられません。この種のアプローチは、スクリプト言語を使用する場合と比較してどうなるでしょうか?