K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
> 追記で、バイトコードも結構変わっています。下記に。 > >>---------------------------------- >>int printf(string str); >>string sprintf(string str); >>int print(string str); >> >>int main() >>{ >> string str; >> printf("printf P1 = %d P2 = %d P3 = %d\n",12,20,30); >> str = sprintf("sprintf P1 = %d\n",13); >> print(str); >> print("---------- test ---------\n"); >>} >>---------------------------------- > ↓ > バイトコード > ↓ >1:*** 一般関数情報ダンプ ****************** >1:--- int main() >1:*** ローカル変数の表示 no = 1 *** >1: 0:string str >1:*** 文字列 数 = 9 *** >1: 0: "main" >1: 1: "str" >1: 2: "printf P1 = %d P2 = %d P3 = %d >" >1: 3: "printf" >1: 4: "sprintf P1 = %d >" >1: 5: "sprintf" >1: 6: "print" >1: 7: "---------- test --------- >" >1: 8: "print" >1:*** 使用予定のスタックサイズ = 240 >1:*** 関数コードのディスアセンブラ size = 65 >1: 0 push_string_const 2 >1: 3 push_int_1byte 12 >1: 5 push_int_1byte 20 >1: 7 push_int_1byte 30 >1: 9 call_function 3 0 0 4 >1: 18 pop >1: 19 push_string_const 4 >1: 22 push_int_1byte 13 >1: 24 call_function 5 0 0 2 >1: 33 pop_stack_string 0 >1: 36 push_stack_string 0 >1: 39 call_function 6 0 0 1 >1: 48 pop >1: 49 push_string_const 7 >1: 52 call_function 8 0 0 1 >1: 61 pop >1: 62 push_int_1byte 0 >1: 64 return >1:*** 行情報 数 = 6 *** >1: 8: from 0 size 19 >1: 9: from 19 size 17 >1: 10: from 36 size 13 >1: 11: from 49 size 13 >1: 13: from 62 size 2 >1: 12: from 64 size 1 >1:*** end of main() -------------- >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!