c言語のプログラムで、整数を入力して結果を表示するプログラムなのですが、
コンパイルして、a.exeを実行して、整数を入力したら、
Microsoft Windowsから
「a.exeは動作を停止しました」
「問題が発生したため、プログラムが正しく動作しなくなりました。」
と出ました。

それまでは順調に動いていたのに、それ以降類似のプログラムでも同じようになりました。

しばらくは「問題のレポートと解決策」にて
「Trojan.PWS.Legmir.AD / W32.Ahlem.A@mmウイルスをコンピュータから除去する」という
Windowsの警告メッセージが表示されましたが、繰り返しているうちに出なくなりました。

「a」という名前が悪いと聞いて、名前を長短いろいろ変えてもだめでした。
ほかの「a.exe」も消してみましたがだめでした。

Windows Vista MinGW環境でコマンド プロンプトを使用してます。
ウイルスバスター2011も使ってます。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

その現象はWindows Vista特有で、Virus Busterをインストールしている時に限り表示される、エラーメッセージです。



私がいろいろ調べて、いくつかおすすめのサイトを見つけましたのでそちらを見てもらってもいいと思います。

http://d.hatena.ne.jp/fkm/20071116

http://social.technet.microsoft.com/Forums/ja-JP …

この2つです。

原因としてはVirus BusterがVistaの初期設定で動作していると、一文字の.exeファイルが、よくある「隠れトロイの木馬」と誤認してでるエラーメッセージです。よって、ウイルスに感染したわけではありません。

解決法としては、文字数を変えてもエラーが消えないというのはおかしいです。

まず、例えば「test.notepad」とコマンドラインに入力して「test」という名前のノートパッド新規ファイルを起動、プログラムソースを書いて上書き保存。その後、test.gcc -o test.exeと入力してコンパイル成功はして、プログラムの実行とはいくのでしょうか。

そこまではうまくいく場合は「Virus Buster」の一時停止を行わないと、毎回「エラー」が出ます。毎回、停止するのが面倒なときは、せっかく買ってもったいないですけど、プログラミングに専念するのなら「アンインストール」が一番簡単です。

コンパイル自体成功しない場合は、「Virus Buster」をアンインストールすれば解決します。

他のウイルス対策ソフトなら、トロイの木馬と誤認しませんよ。Nortonとかなら最良ですけどね。

でも、プログラミングに専念しないなら、毎回、Virus Busterを「一時停止」→「再開」しても十分です。

この回答への補足

丁寧な回答ありがとうございます。

上にあげてもらったサイトは質問前に見ていたのですが…

test.cを -o test.exeとし、コンパイラは成功します。

その後、「整数を入力してください: 」と出て
数字を入力後、Enterキーを押すととまります。

ウイルスバスターを停止しても、変化なしです…

補足日時:2011/04/10 15:35
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【PowerPoint2003】「直前の動作の後」と「直前の動作と同時」の違い

PowerPoint2003 を使っています。アニメーションを設定して、「直前の動作の後」と「直前の動作と同時」のどちらかに設定したいのですが、プレビューをみたりスライドショーを見てみても、違いがわかりません。違いを教えてください。

Aベストアンサー

「直前の動作の後」は、「そのスライドの」直前に設定しているアニメーションの効果が終わった後
「直前の動作と同時」は、「そのスライドの」直前に設定しているアニメーション効果と同時に

の意味です。ただし、アニメーション効果をいくつか設定した場合
「後」や「同時」の並べ方で効果のタイミングが違いますので、
簡単な図などで動き方を練習された方がよいと思います。

QC言語で5つの整数a、b、c、d、eを入力し、降順に整列した後に出力して終了するプログラムを作成してください

C言語で5つの整数a、b、c、d、eを入力し、降順に整列した後に出力して終了するプログラムを作成してください。

入力 出力
3 9
6 7
9 6
7 5
5 3

Aベストアンサー

>作成してください。
貴方が作成してください。

作成してわからないことがあったら、そのわからない部分を質問してください。
1.入力された数字を5回取得する。
2.5回取得したら、降順に整列する。
3.整列したら、出力する。
以上を作ればおしまいです。

QOSによる動作の違い

あるゲーム(3D)を動作させた場合、たとえばMeとXpでは安定度等に違いがあるのでしょうか?あくまでもOSの違いだけで判断しての話です。

MEではある程度動作したが、途中でよくハングする。
XPでは問題は起こらなかった。

Aベストアンサー

Me自体が安定したOSとはお世辞にもいえないのでしょうがないのではないでしょうか?

MeはXPが出るまでのつなぎOSとしてとても有名です。
XPを予定通り出せそうに無いけど何か売らないと儲けが出ない→とりあえず何かOS作っとけ→98にいろいろソフト乗せて新OSとして売れば何とかなるか?
というような感じの経緯があったようです。

方やXPはNT、2000のビジネス系OSの流れを汲んだ結構安定したOSです。
OSを変えるだけでかなり安定するということも事実です。

Qc言語プログラミングで10〜-10までの整数を連続して表示するプログラムを作成できるかたいますか?

c言語プログラミングで10〜-10までの整数を連続して表示するプログラムを作成できるかたいますか?
結果
10
9
8...
プログラミングを最近初めて教えていただける方お願いします

Aベストアンサー

// あ、間違えた!

for( count=10; count>=-10; count-- )

Q清潔動作と整容動作の違い

整容動作と清潔動作の違いがいまいち分かりません┐('~`;)┌
誰か教えて下さいお願いします!

Aベストアンサー

セイヨウは容姿、見てくれ。

清潔は、除菌、消毒のこと。

髪がボサボサ、鼻毛ぼうぼう、、、セイヨウを整える、

汚れた、て、髪、鼻の穴、を洗う、、、清潔。

清潔であっても、鼻毛ぼうぼう、、髪ボサボサ、、、ありでしょう。

セイヨウを整えるために、髪を切る、鼻毛を切る。

Qc言語のプログラムで平均点に一番近い点数表示するには関数を使わないプログラムでは表示できますか?

c言語のプログラムで平均点に一番近い点数表示するには関数を使わないプログラムでは表示できますか?

Aベストアンサー

関数を使わないと何もできない.

QMMORPG 両者の違い 動作環境

ノートパソコン(Windows Vista)でオンラインゲームをしています。2つのゲームをしているのですが、片方が重いです。
コルムオンライン(http://www.corum.jp/)
動作環境:
動作環境のURLが確認できないため、上のメニューバーから「はじめよう!」→「動作環境」です。お手数をおかけします。
とても軽いです。

MU(https://secure.muonline.jp/member/index.asp)
動作環境:https://secure.muonline.jp/member/download/spec.aspです。
とても重いです。

この両者の動作環境の違いがよく分からないのですが、どうすればMUも軽くなるのでしょうか?ただ単にVistaだからでしょうか?
よろしくお願いします。

Aベストアンサー

まず、HPに書いてあるようにVistaに正式対応していないことが挙げられます。

あとはVGAの関係でしょうかね。
動作環境のVRAM容量が同じくらいだからといって要求するグラフィック環境が同程度だというわけではありません。
これは、VRAM容量よりもグラフィックチップの性能の方が影響するためです。

PCのスペックが書かれていないのでなんともいえませんが、基本的にノートパソコンは3Dゲームには不向きです。
一部のゲーム用ノートPCを除いて、VGAはオンボードの大した性能を持ってないチップが搭載されているものがほとんどです。
このため、たとえメインメモリのVRAM割り当て容量を変更して動作環境を満たしたところで、チップの性能が足りず重くなります。
この場合、パーツを増設してどうこうといったことはノートPCの性質上不可能ですので、改善するためにはPCそのものの買い替えが必要になります。

Qc言語のサイコロを100回振ってこの結果を表示するプログラムはどうなりますか?

c言語のサイコロを100回振ってこの結果を表示するプログラムはどうなりますか?

Aベストアンサー

> #include <stdlib.h>
> #include <time.h>は 必ず必要ですか?

stdlib.hがないと、組み込みのrand()と言う「乱数」が使えません。
もちろん、自分で乱数のプログラムを書きます、と言うのなら話は別ですが・・・。

time.hは必ず必要ではないけど、ただし、実用的な意味では必要でしょう。
これは上のstdlib.hに含まれる乱数の初期値を初期化する為に使われます。
基本的にコンピュータ上の乱数は「疑似乱数」と言って本物の乱数ではありません。
つまり「数の出方に」実は法則性があって、何度も乱数を使った同じプログラムを呼び出すとそれがバレちまう(笑)。
そこでtime.hは「現在時刻を取得したりする」関数が含まれてるんで、そいつを乱数の初期値にセットすれば、原理的には「二度と同じ乱数列が得られない」と言う特典があるんです。
そのため、stdlib.hのrand()を使う際、良く組み合わされるのがtime.hになるのです。

Qウィルスが”いた”と”動作している”の違い

ウィルスが”いた”(発見、検出)のと”動作している”の違いはなんでしょうか

また”感染”していると、ただ”いた”の違い・・・

スキャンで発見されたら、もうウィルス(トロイなど)は動いてるのでしょうか?

たとえばこの間トロイみたなのがファイル名”A*****.exe"というかたちで発見されましたが

この”A*****.exe"というのを実行はしていません

実行したら、ウィルスが活動し始めるのですよね?実行しない限りはただ”いた”だけであり”動作”はしていないと認識しているのですが・・・

(ただこの”A****.exe"は以前増えました)

認識間違っているでしょうか?

Aベストアンサー

前者の場合は感染前であり、後者は感染後であるという違いですね。


人気Q&Aランキング

おすすめ情報