2015-12-08 32 views
9

juliaのバージョン0.4。*に--compileオプションがあることに気付きました。ジュリアスクリプトをコンパイルするには?

奇妙なことに、私はそれに関するドキュメントを見つけることができません。

私は(Ubuntuで)juliaスクリプトを実行可能なLLVMバイトコードファイルにコンパイルしようとしていました。しかし、ここまでは、私は失敗しました:私は同じフォルダにboot.jlファイルを置けば、もう

julia --compile=yes --output-bc test.bc test.jl 
ERROR: could not open file boot.jl 

このエラーが表示されません。私もこのエラーメッセージを取得することができます

julia --compile=yes --output-bc test.bc test.jl 
Segmentation fault (core dumped) 

juliaスクリプトを実行可能ファイル/難読化バイトコードにコンパイルするにはどうすればよいですか?

編集:FYI、私のtest.jlファイルはここprint(123)

答えて

11

だけ含まれているジュリア・ソースとして/tmp/test.jlで、OS X上で構築から、例を示します

function foo() 
    print(123) 
end 

precompile(foo,()) 

julia/base/userimg.jlとして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を実行します。 (2015年12月)今のように、言った

define internal %jl_value_t* @julia_foo_22542() { 
top: 
    %0 = alloca [4 x %jl_value_t*], align 8, !dbg !51528 
... 

が、ジュリアは、スタンドの事前コンパイラのため使用できません。どこか(巨大な)画像で我々はテスト機能に関連するバイトコードを持っています単独の実行可能ファイルです。ただし、以下は興味がある可能性があります

+1

ありがとうございました。 '.bc'ファイルを実行しようとするとき。 'main'関数がないと言います。私のソースファイルにmain関数を置いても... – Oli

+0

BuildExecutableへのリンクを参照してください。最初に作業するものを入手し、 '--output-bc'フラグを使用するように変更してください。 –

関連する問題