パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

むむう」記事へのコメント

  • 読み書き。*(int*)2 = 0;みたいな。
    # 数字によって例外の種類が違うので適当に選んでね。
    • 悪い、全然分かんないわ

      int型のポインタ変数として 2 というヒトを宣言できるの
      なんでやねん!で思考停止中
      • あらら orz

        「*(int*)2 = 0;」は宣言じゃなくてただの文です。

        まず、(int*)hogeで「hogeはintのポインタなんぢゃゴルァ!」とコンパ
        イラに無理矢理納得させます。キャストって奴です。これの前に*を付けると
        そのポインタの差す値になります。

        んで、そこに0を書いてるので「アドレスhogeに0を書く(型はintで)」とい
        う動作になります。hogeが「データとして書いちゃいけない所」だったり
        「特権がないと書いちゃいけない所」だったり「ページがない所」だったりす
        • OS君がMMU機能を使ってメモリプロテクションを行なっているかどうかを
          確認するということは、セグメンテーション違反をわざと引き起こす
          プログラムを走らせて、ちゃんとSIGSEGVを発令してプログラムを
          死なせてくれるかどうか確認するということなのですね
          • ごめん、ページってのは間違い。

            >OS君が...なのですね

            そですね。

            >それをやってくれないOS君だと、もろとも死亡…ああやだやだ
            >#そんなOSってあるのか? :P

            昔は皆そうだったし、今でも組み込み系はやってくれない事が多いよ。
            そもそもMMUとかOS自体がないことも多いし。
            # なに、MMUなんかなくてもちゃんと組めば出丈夫さ。
            親コメント

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...