안녕하세요.
컴파일러가 _ECX가 무슨 말인지 모르겠다는 에러메세지인데 아마 다음 두가지 중 하나일것입니다.
첫째로 답변을 달아주신 김시환님 말씀대로 _ECX 에 대한 define이나 어떤 정의도 없는 경우입니다.
#define _ECX 100 이런식이라던지 int _ECX; 이렇게 _ECX를 정의한 것이 없으면 컴파일러는 _ECX가 뭔지 알지 못합니다.
두번째 경우는 _ECX가 레지스터를 가리킬수 있습니다. 혹시 에러가 난 부분 코드가 _ECX = 0x00000001; 이런식으로 되어있나요? ECX는 CPU내의 레지스터라는 특수한 저장공간 중 하나입니다. EAX, EBX, ECX, EDX, .... 등등 있으며 어셉블리를 공부하시면 알수 있습니다. 16비트 시절에 AX, BX, CX 등 16비트 크기의 레지스터들만 있었지만 32비트 CPU부터 32비트 형식으로 레지스터가 바뀌어서 앞에 E(Extended)를 붙입니다.
_ECX는 컴파일러 버전에 따라 다르지만 레지스터를 나타내는 볼랜드C의 키워드입니다. _ECX에서 에러가 나는 경우가 첫번째 경우가 아니라 레지스터를 나타내는 것이라면 32비트 _ECX 레지스터를 키워드로 지원하는 컴파일러를 사용해보세요. 아마 Borland C++ 3.1 이나 Turbo C++ 3.1은 지원할것입니다.
구름나절 님이 쓰신 글 :
: 프로그램을 실행하니 undefined symbol _ECX 가 나오는데 왜 이러는지 모르겠군여.
: 터보 C나 블랜드 C++에서 동시에 발생하는데 _ECX 에러가 무엇입니까?
: 프로그램 고수분들 부탁드립니다.
:
|