2011-12-21 4 views
-1

저는 VC++에 처음 접했고 VC++에서 처음으로 프로그램을 실행하고 있습니다. Microsoft Visual C++ 설명서에 명시된 지침을 엄격히 준수하고 주어진 지침에 따라 하나의 프로젝트를 만들었습니다. ex03a.exe 소개vC++에서 링크 오류가 발생했습니다.

는 : 나는 경로 "... \ Ex03a \ 디버그 \"에 어떠한 파일이 ex03a.exe 같은 존재하지 않는 것을 보았다.

간단한 'Test.cpp'파일을 실행하여 내 vC++를 테스트했습니다. 간단한 C++ 프로그램을 실행할 수 있었고 결과가 나타났습니다. 그리고 Test.exe라는이 '\ 테스트 \ 디버그 \ Test.exe라는'

내 질문에 있습니다 : 어떻게 오류를 없애 얻을 수 있습니다. enter image description here

+2

"pgm"및 "abt"대신 완전한 단어를 사용하면 정말 가독성이 향상됩니다. 또한, 질문은 무엇입니까? – 0xC0000022L

+0

와우, VC 6! 과거의 실제 폭발 ... 진실로 Visual C++을 처음 접한다면 * 최신 * 버전을 무료로 다운로드하지 않으시겠습니까? [Visual C++ 2010 Express] (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express). –

+0

@CodyGray bcz 내 책 프로그래밍 vC++에서 그들은 vC++ 6.0으로 가르치고 있습니다. –

답변

3

VS가 파일을 열 수 없다고 할 때 거의 항상 쓰기 용으로 열어 둡니다.

그리고 파일이 잠겨 있기 때문에 거의 항상 작동하지 않습니다.

그리고 거의 항상 파일이 현재이 윈도우의 전문이다

:-) 실행되고 실행되기 때문이다

- 그것의 모든 시간을 달린다 위해 exe를 단순히로드되지, 그것은 잠겨. 이는 exe 파일 (실제로는 이식 가능한 실행 파일이라고 부름)이 코드뿐만 아니라 일반적으로 임의의 수의 리소스 (예 : 이미지 등)를 포함하고 있기 때문에 파일을 변경하면 그 파일을 변경할 수 있기 때문일 수 있습니다 런타임에 이러한 리소스 중 하나를 읽으려고 할 때 응용 프로그램 충돌이 힘들어집니다.

따라서 응용 프로그램을 종료/닫기/종료하는 방법을 찾고 있으므로 더 이상 실행되지 않으므로 파일이 더 이상 잠겨 있지 않으므로 링커에서 작업을 수행 할 수 있습니다.

오류 메시지 btw.가 ​​내 관점에서 직관적이지 않습니다.이 문제는 SO 표준이므로 문제의 가능한 원인에 대해 알려 줄 수 있습니다. afaik, 대부분의 개발자가 전에 이것을 보았고, 왜 그것이 일어 났는지 알았 기 때문에 아마 지금까지 개선되지 않았으므로 더 이상 문제가 없습니다.

0

그 스크린 샷에서 여러 버전의 VC6을 실행 중입니다.

이제 이전 컴파일 된 exe를 종료하지 않고 해당 프로그램의 새로 컴파일 된 exe를 실행하면 오류가 발생합니다.

VC가 현재 실행중인 exe를 덮어 쓰려고 시도하지만 정확한 오류가 발생합니다.

작업이 끝나면 항상 프로그램을 닫으십시오.

+0

저는 VC 6의 인스턴스 하나만 봅니다. 다른 하나는 VS 2005 또는 2008입니다.하지만 아마도 그는 동일한 프로젝트 파일을 열고 실행하고있을 것입니다. –