2016-05-06 7 views
0

私はmrubyで始まっています。mrbcを使用して読みやすい.cコードを生成するのに少し必要です。私はthis articleに従っていました:mruby:読み込み可能なコードを生成する

ここでは言及されています

$ mruby/bin/mrbc -Cinit_tester test_program.rb 

は、一部のコンテンツでtest_program.c生成します。私は、このコマンドを実行すると

が、私のマシン上の

は、それは言う:

MRBC:出力ファイルが複数のファイル

その後

私は

$ mruby/bin/mrbc -Binit_tester test_program.rb 

を試してみましたが、コンパイルするために指定されるべきですcファイルを生成しますが、その内容はバイトコードのみです:

#include <stdint.h> 
const uint8_t init_tester[] = {0x45,0x54,0x49,0x52,0x30,0x30,0x30,0x33,0x73,0x0d,0x00,0x00,0x00,0x65,0x4d,0x41,0x54,0x5a,0x30,0x30,0x30,0x30,0x49,0x52,0x45,0x50,0x00,0x00,0x00,0x47,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x3f,0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x06,0x00,0x80,0x00,0x3d,0x00,0x00,0x01,0xa0,0x00,0x80,0x00,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0b,0x68,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,0x6c,0x64,0x00,0x00,0x00,0x01,0x00,0x04,0x70,0x75,0x74,0x73,0x00,0x45,0x4e,0x44,0x00,0x00,0x00,0x00,0x08, }; 

基本的には、私たちがcコードに入れたmrubyコードのバイトコードです。

読み取り可能なCコード(.c)のブログmを見ると、実際にはcコードが生成されているはずです。

mrbcが読み取り可能なCコードを生成しないのはなぜですか?

+0

このページの例は、ドキュメントのオプションでバックアップされていません。http://mruby.org/docs/articles/executing-ruby-code-with-mruby.html –

答えて

0

なぜmrbcは読み取り可能なCコードを生成しないのですか?

まあ、は、RiteVMが理解できるようにルビコードのバイナリ形式を生成するコンパイラであるため、読み取り可能なCコードを生成する方法はありません。

代わり-vオプションで、あなたはあなたのコード のASTおよびVMコードを(私はmrbcはそれなし*.mrbファイルが生成されますので、あまりにも-cオプションを渡すことを好む)見ることができます。

関連する問題