Juliaのバージョン0.4。*に_--compile
_オプションがあることに気づきました。
不思議なことに、私はそれに関するドキュメントを見つけることができません。
私は(Ubuntuで)Juliaスクリプトを実行可能なLLVMバイトコードファイルにコンパイルしようとしていました。しかし、ここまで、私は失敗しました:
_Julia --compile=yes --output-bc test.bc test.jl
Segmentation fault (core dumped)
_
このエラーメッセージも表示されます。
_Julia --compile=yes --output-bc test.bc test.jl
ERROR: could not open file boot.jl
_
同じフォルダに_boot.jl
_ファイルを配置した場合、このエラーは表示されなくなりました。
Juliaスクリプトを実行可能/難読化されたバイトコードにコンパイルするにはどうすればよいですか?
編集:参考までに、私の_test.jl
_ファイルにはprint(123)
のみが含まれています
以下は、OS XでのJuliaソースビルドの例で、/ tmp/test.jlは次のようになります。
_function foo()
print(123)
end
precompile(foo, ())
_
そして_Julia/base/userimg.jl
_ as include("/tmp/test.jl")
_Julia/base
_ディレクトリ内で以下を実行します。
_Julia --compile=yes --output-bc test.bc -J ../usr/lib/Julia/inference.ji sysimg.jl
_
次に_llvm-dis test.bc -o test.ll
_を実行します。 (巨大な)画像のどこかに、テスト関数に関連するバイトコードがあります。
_define internal %jl_value_t* @Julia_foo_22542() {
top:
%0 = alloca [4 x %jl_value_t*], align 8, !dbg !51528
...
_
ただし、現時点(2015年12月)では、Juliaはスタンドアロンの実行可能ファイルの事前コンパイルには使用できません。ただし、次の点に注意してください。
--output-bc
_を使用していませんが、ユーザーインターフェイスが優れており、そのオプションを追加するのは簡単です)