掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プロセスを実行可能な形でディスクに保存するには? (ID:49106)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Mr.XRAY様、take様、ありがとうございます。 >この場合の「プロセスの保存」が何を意味するのかはよく解りませんが... 説明が不十分で申し訳ありません。 私がイメージしていたのは単純に、例えば実行中のメモ帳(notepad.exe)を、 先頭からプロセスの長さ分書き出したら、notepad.exeとして保存できないか… というもので、例えばその際、メモ帳上に編集中のデータがあった場合はどうなるかについては、 正直、考えが及んでいませんでした。 >プロセスというのは,EXE を実行するとメモリ上に展開されるオブジェクトの総称です. >あるいはインスタンス (実体) のことです. 単純にexeがメモリ上にコピーされるのではないのですね… 言われてみれば、例えば条件分岐でインスタンスを動的に生成した場合としない場合では、 メモリ上は別物になるはずですね。 >実行可能とかいう問題,内容のものではありません. そうなのですね。 私は、自分のプログラムの間違いで、正しく保存されていないために実行できないのかと思っていましたが、 そもそも実行中のプロセスは、そのまま書き出しても実行できるものではないのですね。勉強になりました。 >「exe ファイルをダブ ルクリックすると何 が起こるか」という書籍名で販売された後、 >作者のご厚意で無償公開されているようです。 早速、ネットで探しました。 専門的なので、私が理解するには時間がかかりそうですが、有益な情報ですね。 専門書の様な同人誌ですね。恐るべし… >これによるとEXEや使用しているDLLがイメージローダーによりメモリ上に展開されてた後 >エントリーポイントから実行が開始されるという事ですので >プロセス上にあるものは展開後のEXEであってここからEXEを作る事は困難なものと思われます。 私は、てっきりコンパイルされる時、必要な機能がインクルードされる様にイメージしていましたが、 考えてみれば、DLLファイルは別にある訳ですから、実行される時にロードされる訳ですよね。 それだけでも、exeと実行時の状態は、別物ですね。 Mr.XRAY様とtake様にご教授いただいて、私の理解が随分間違っていたことが分かり、勉強になりました。 当初プログラムの問題かと思っていましたが、これはDelphiの質問では無かったかも知れませんね。 >コマンドプロンプト上で動いているものだったらあるいは・・・ なるほど…やってみます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.