(強いAI)技.術的特.異点/シ.ンギュラリティ158at FUTURE
(強いAI)技.術的特.異点/シ.ンギュラリティ158 - 暇つぶし2ch92:yamaguti
19/05/14 14:01:37.63 2vGaUUWM.net
? ry 、解析中の関数 ry 。
stack_sizeは定数で、パーシングに伴って関数ごとに計算されます >>78
? bp ry 不十分であることが判明しました。
要するに bpを保存するだけでは不十分 。
関数呼び出しは、式の中で起こることがあります
? ry 、表現の一時的なものを保存 ry 。
そのような場合には、式の全てのテンポラリを保存しなければならない
? 新しい機能は、 ry 同じ一時メモリセルを ry 。
新しい関数は、それ自身の必要性のために同じテンポラリメモリセルを使用することになります。
式f()+ g()に対して、呼び出しの結果は変数t1とt2に格納
? ry いる関数gがt1を変更 ry 。
関数fの結果が格納されている t1 を関数 g が変更すると、問題が発生
? ry 、すべての機能を使用しているすべての一時的なデータをスタック ry 。
解決策は、各関数毎にそれが使用している全テンポラリをスタックにプッシュし、終了時にそれらを復元すること 。
以下の関数を考えてみましょう:
  int g()
  {
    return k+1;    // k + 1を返す。
  }
? ry に翻訳されます:
それは次のようにトランスレートされます:


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch