2016-08-07 18 views
0

私はこのコードを作業して、基本的なCプログラミングを習得しようとしています。 私は基本的なプログラムをコンパイルして実行しました。その後コンパイルエラーが発生した後に「アクセスが拒否されました」

、私は、コンパイラはエラーを発生させた上でコードを実行しようとすると、問題が開始 - その後から、私には取得しません:

c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot open output file tests.exe: Permission denied 
collect2.exe: error: ld returned 1 exit status 
mingw32-make.exe[3]: *** [tests.exe] Error 1 
mingw32-make.exe[2]: *** [CMakeFiles/tests.dir/all] Error 2

どんなに私もに、にコードに変更するものちょうど基本的なint main() {return 0;}コード、私はその問題を続けています。


編集(コメントから統合)

は解決策を見つけ、私はまだ実行中のプログラムを持っていたと私はそれを手動で停止しなければなりませんでした。私はpython/javaに慣れています。一度エラーが出ると、プログラムは停止します。それはCでもそうではないでしょうか?

+0

解決策が見つかりました。プログラムがまだ実行されていて、手動で停止しなければなりませんでした。私はpython/javaに慣れていますが、一度エラーが出るとプログラムが停止します。それもCのようなものではないでしょうか? – Eyzuky

答えて

0

後でリンカのエラーを引き起こすエラーは、実際にはコンパイラのエラーではなく、実行時エラーです。

実行中のプログラムで開いているファイル(または実行中のプログラム自体)を上書きすることはできませんので、ld.exe(リンカー)が新しい実行可能ファイルを作成しようとするとエラーが発生します。

最も可能性の高い原因は、通常の実行(緑色の「再生」矢印)ではなく、デバッグモード(緑色のカブトムシアイコン)でプログラムを開始することです。これはあなたのプログラムにデバッガ(おそらくgdb)を付けます。あなたのプログラムがクラッシュすると、デバッガはトラック内でそのプログラムを停止させ、あなたが調査するのを待って、プロセスを生かします。

何らかの方法でデバッグツールが隠されていないことを確認するか、デバッグツールを使用せずにプログラムを起動するだけです。

+0

ありがとう、これは非常に意味をなさない! – Eyzuky

関連する問題