翻訳と辞書
Words near each other
・ 自己撞着
・ 自己擬態
・ 自己放電
・ 自己救済
・ 自己敗北性パーソナリティ障害
・ 自己整合
・ 自己整合語
・ 自己整復
・ 自己整流
・ 自己暗示
自己書き換えコード
・ 自己本位
・ 自己束縛
・ 自己栄養菌
・ 自己株券買付状況報告書
・ 自己株式
・ 自己植皮
・ 自己植皮(術)
・ 自己植皮術
・ 自己検査


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

自己書き換えコード : ミニ英和和英辞書
自己書き換えコード[じこかきかえこーど]
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。

自己 : [じこ]
 【名詞】 1. self 2. oneself 
: [き, つちのと]
 【名詞】 1. 6th in rank 2. sixth sign of the Chinese calendar
: [しょ]
 【名詞】 1. penmanship 2. handwriting 3. calligraphy (esp. Chinese)
換え : [かえ]
 (n) rate of exchange
: [ちょうおん]
 (n) long vowel mark (usually only used in katakana)

自己書き換えコード : ウィキペディア日本語版
自己書き換えコード[じこかきかえこーど]
自己書き換えコード(じこかきかえコード、''self-modifying code'')とは、目的を問わず実行時に自分自身の命令を書き換えるコードを指す。
自己書き換えコードはアセンブリ言語を使用すると簡単に記述できる(CPUのキャッシュを考慮する必要がある)。
また、SNOBOL4LISPのようなインタプリタ型の高級言語でもサポートされている。また、COBOLには ALTER という命令が存在していた。
コンパイラで実装するのは難しいが、CLIPPERSPITBOLではその試みが行われている。
バッチスクリプトも自己書き換えコードを頻繁に使用する。
再構成可能コンピューティングは、言ってみれば「自己書き換え''ハードウェア''」である。
再構成可能コンピューティングはソフトウェアとハードウェアの境界を曖昧にする概念である。
== 自己書き換えコードの用途 ==
自己書き換えコードは様々な目的で用いられる。
# 状態依存ループの最適化
# 実行時コード生成、実行時あるいはロード時にアルゴリズムを特化させる(これは、リアルタイムグラフィックスなどの領域で一般的である)。
# オブジェクトインライン状態を変化させる。あるいはクロージャの高度な構造をシミュレートする。
# サブルーチンを呼び出す部分にパッチを当てる。一般にダイナミック・ライブラリをロードするときに行われる。しかし、これを自己書き換えコードと呼ぶかどうかは場合による。
# ダイナミックリンクライブラリのロード時などにサブルーチンを呼び出すアドレスにパッチを当てる。これを自己書き換えコードと呼ぶかどうかは微妙である。
# 遺伝的プログラミングなど
# 逆アセンブラデバッガを使ったリバースエンジニアリングを防ぐためにコードを隠す目的で行う。
# コンピュータウイルススパイウェアがワクチンソフトから逃れる目的で行う。
# メモリやディスク容量が限られている環境で、コードを圧縮しておき、実行時に解凍してから実行する。
# 命令セットが非常に小さい場合、自己書き換えコードを使う以外に機能を実現できない場合がある。例えば、「減算し、その結果が負であれば分岐する」(subtract-and-branch-if-negative)という命令しかないコンピュータも原理的には可能だが、この場合C言語での "
*a =
 *b" に相当するような間接コピーは自己書き換えコードを使わないと実行できない。
2 番と 3 番はLISPのような高級言語でもよく使われる。
Linux カーネルは 起動時に環境に応じた自己書き換えを行ったり(alternative.c)、デバッグ用のコードを自己書き換えで挿入するようにしたり(jump labels)して、コードの最適化を図っている。また、自己書き換えによって任意の位置の性能解析をすることができる(perf events)。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「自己書き換えコード」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.