티스토리 뷰

ARM 컴파일러로 컴파일시의 에러/경고에 대한 메세지의 설명 입니다.

=> Warning: inventing 'extern int aaaaaa();'

aaaaaa 에 대한 함수 정의가 되어 있지 않거나 인자가 없는 함수의 경우
void 형의 선언이 되어 있지 않아 생기는 경고 입니다.
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Warning: 'aaaa' may be used before being set

aaaa 라는 변수가 코드내에서 사용은 되지만 주로 switch 등의 문에서
default: 쪽에서 aaaa 를 처리해 주지 않아 사용하기 전에 변수 세팅을
하라는 경고 입니다. int aaaa = 3; 등으로 초기화를 해 주시면 됩니다.
switch 를 벗어나 변수가 세팅이 되지 않았다면 문제가 생길수 있습니다.

=> Warning: no side effect in void context: 'unary *'

포인터 연산(*a++) 등을 사용할때 발생하는 경고 입니다. 
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Warning: '=': cast of 'int' to differing enum

enum 으로 선언된 변수에 int 형의 타입을 설정할때 발생하는 경고 입니다.
enum 의 변수를 다시 세팅을 해야 할 필요시에는 aaa = (enum_var)bbb;
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Warning: (possible error): >= 10 lines of macro arguments

macro 함수를 사용하면서 10 라인 이상이 넘어 생기는 경고 입니다.
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Warning: Dangling 'else' indicates possible error

if 문장에서 전혀 다른 비교를 else 를 통하여 할때 발생하는 경고 입니다.
그러나 코드상에 문제없이 진행이 될것이라 예상하시면 무시하셔도 됩니다.


=> Warning: implicit cast (to 'unsigned char') overflow

unsigned char(BYTE) 로 선언된 변수에 0~255 이상의 값이 선언되거나 대입되어
생기는 경고 입니다. 실행시에 문제가 생길수 있습니다.


=> Warning: Duplicate file UpGame\main.o ignored.

main.o 를 두번 컴파일 하기 위해 시도된 내용 입니다.
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Warning: No entry point for image.
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Warning: Global abcd multiply defined (in Init.o and main.o).

! abcd 라는 변수가 두번 이상 정의 되어 있을때 생기는 문제입니다.
경고로 출력이 되지만 실제는 에러와 같은 상황입니다.
abcd 라는 변수가 Init.c 와 main.c 의 중복 설정으로
서로 다른 메모리에 할당이 되어 init.c 와 main.c 가 서로 다른
메모리를 참조하게 됩니다. 
VC 에서는 자동으로 처리가 되지만 ARM 컴파일러에서는
독립적으로 생각하게 됩니다.


=> Warning: : cast of 'int' to differing enum

! DrawGameOver 라는 함수의 첫번째 인자가 enum 으로 설정(혹은 int 로 선언)
되어 있으나 첫번째 인자에 다른 형태의 타입 값을 넣을때 생기는 경고 입니다.


=> Warning: Deprecated declaration abcd() - give arg types

타입이 선언되지 않은 abcd 입니다. void 형으로 처리해 주시면
경고가 사라지게 됩니다. 혹은 void abcd(void); 로 헤더에 선언해 주시면 됩니다.
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.


=> Serious error: Non-formal 'MAPcall' in parameter-type-specifier
=> Serious error: 
: cast to non-equal 'MIT' illegal

define.h 에 #define WINDOW_SIMULATION 의 주석 처리를 하지 않아 생기는 에러 입니다.
define.h 에 위 define 을 주석 처리 하신후에 컴파일 하시면 됩니다.


=> Warning: Superfluous ',' in 'enum' declaration

enum 설정시 마지막 enum 에 , 가 포함되어 발생하는 경고 입니다.
마지막 enum 에 , 를 제거하시면 경고가 사라지게 됩니다.
* 실행시에 컨텐츠에 위 경고로 인한 영향을 주진 않습니다.

'my Programing > etc..' 카테고리의 다른 글

오늘의 작업물..  (0) 2009.08.28
#pragma 키워드  (0) 2009.04.22
Visual Studio 2005 Black Color 적용 하기.  (1) 2009.01.29
32bitmap To 8bit PNG 만들기 삽질중!  (0) 2008.10.28
BITMAP 구조.  (0) 2008.10.25
댓글