2011-07-13 5 views
2

私はCygwinでemacsを使ってC++を学んでいます。古いUnixオペレーティングシステムでは、segfaultがクリティカルメモリを完全に破棄できると聞きました。私はCygwinでWindowsをUnixのようにすることを考えていました。Cygwinでsegfaultを取得したら、WindowsやCygwin上で何かダメージを受けますか?Cygwinでsegfaultを取得した場合、どのような影響がありますか?

+1

ユーザープロセスのsegfaultは決して重要なメモリを破壊しません。 –

答えて

3

いいえ、何も損傷しません。 segfaultを起動させたアプリケーションがクラッシュするだけです。おそらく(あなたのWindowsのバージョンと設定によって)クラッシュを知らせる迷惑なポップアップメッセージが表示され、報告するかどうか尋ねられます。

0

最新のオペレーティングシステム(Linux、Win2K +、MacOSXを含む)では、すべてのプロセスは、OSによって管理され、プロセスの有効期間が終了した後に完全にクリーンアップされる「仮想メモリ」の領域にのみアクセスできます。プロセスが終了する原因となるプロセスの一部のメモリアクセスエラーは、プロセスが仮想アドレス空間の一部にアクセスしようとしたことを意味します。仮想アドレス空間の一部には、OSに通知されておらず、OSが処理したくないしかし、これはそのプロセスの外側には何の影響も与えません。ユーザー空間のプロセスのための「本当の」メモリに直接アクセスすることはできません。したがって、あなたは本当に莫大な被害を被ることはできません。

(誤って「殺す」ためにAPI呼び出しをトリガーし、管理者権限を持っていた場合は[OK]を、私は物事を光沢よ、私はあなた何らかの害を引き起こす可能性があるとします。しかし、あなたは私が何を意味するか知っている。)

関連する問題