)という感じで普通に動きます。この機能の本来の目的は、バッファ・オーバーフローによる攻撃への対策です。以降のデータは本来確保された場所を越えて書き込みが行われます。一つの大きなものを区切って使っているに過ぎません。小学校で、大きな白い紙にみんなで学級新聞を書いて作るようなイメージ。「ここからここまでが、みむらくんのばしょねー。」というような、あんな感じでメモリを使ってます。自分の場所に、別の人が書き込めない訳じゃないですよね。したバトルになりやすいですが。他人の場所に文字を書いていることになります。日本語で言うところでいう区点「。」を書き込む必要があるので、9文字を突破すると他人の場所に文字を書き込むことになります。)小学生なら、他の人の所に書き込んでも怒られるだけですが、コンピュータはもっとずーっと厄介で、動作に必要な情報がいくつか書き込まれています。その一つに、リターン・アドレスがありますが、これは言うなれば、「本の何ページまで読んであった」ということを記したメモみたいなものです。コンピュータは愚直なもので、そこの部分に戻って、危険なコードを実行することとなります。これのソフトウェア実装も存在します。本来の場所を越えて実行させようとしたときに、実行を停止してしまうというのが仕掛けとなります。以前の記事になりますが、Cコード中にマシン語を埋め込んで実行する。命令やそれと同等のAPIは、すべてこの機能において、該当部分のメモリを実行可能にしたり、読み書きの属性を設定したりという機能を提供しています。言えばわかりやすいでしょうか。本来、プログラムコードが置かれるべき場所とは違う場所に記録されています。「.data」セクションに書かれており、明らかに違うところに書かれているのがわかるかと思います。今回の例では、明らかにおかしいところにあるコードを実行しようとしたため、CPU側が異常を検出して動作を停止した、ということになります。この動作を、高校までの学校のテストになぞらえるならば、プログラムコード部分は試験問題。DEPは試験監督といえるでしょうか。明らかにおかしいですよね。ユーザにエラーとして報告)する感じになります。今回の例では、プログラムコードを机の上とか、机の上に偶然置かれていた紙とか、そういう所に書いています。そりゃ、怒られるわな、ということです。するってなによ、といえば、その通り試験監督はいらないよ、ということを試験要項に書くようなものです。試験監督がいなければ、何やったって基本的にはおーけーです。動かないよーということで。(つけること)になっています。いうわけで、非常にわかりやすいプログラムですね。日本語ですし、読めますし。実際に動いてしまうというのは理解していただけたかと思いますが、この2曲は、小学校の音楽の授業で取り上げられるものです。英語を全く使わずに、それもネイティブできれいな日本語で、プログラムが書けてしまう。意味を(正しい意味かどうかは置いておいて)プログラミングの知識なしにとらえることができる。わかりますか、画期的ですよね!・・・すいませんでした。そんな感じで、まぁまぁ。生存報告と同時に、めーりーくりーすまーす。いうのがあったらぶっ飛びたいなーと思う今日この頃です。アップグレードを成功させる。プログラミング生放送で話してきた。タッチパッドを快適にする。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。