컴파일 에러 질문입니다.

sozu의 이미지

어쩌다가 컴파일 에러를 질문하게 되었습니다( .. )

Sun sparc , unix 환경에서 cc로 컴파일 하였습니다.

이전에 사용했던 장비에서 컴파일 했을때에는 잘되었습니다.

하지만 이번에 다른 장비에서 컴파일하는데..

일단 cc 의 버젼이 낮아진것 같습니다. (정확한 버젼은 모르겠습니다만, // <- 이 주석에서 컴파일 에러가 나서 다 고쳤습니다.)

Quote:
"./aestab.h", line 96: warning: improper pointer/integer combination: op "="

이 워닝이 궁금합니다. 해당 소스부분은 아래와 같습니다.

80: #define mm_data(w) {\
      .....
96: w(0x78), w(0x79), w(0x7a), w(0x7b), w(0x7c), w(0x7d), w(0x7e), w(0x7f),\

또 하나는

Quote:
"aestab.c", line 350: syntax error before or at: <EOF>

저 라인에는 #endif 밖에 없습니다. 다음 줄은 공백, 그리고 파일이 끝납니다.

답변 부탁 드릴게요 :D

File attachments: 
첨부파일 크기
Package icon src.zip12.13 KB
서지훈의 이미지

show me the source~~~

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

sozu의 이미지

소스 파일 첨부해요~ :D

댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트

-----------
청하가 제안하는 소프트웨어 엔지니어로써 재미있게 사는 법
http://sozu.tistory.com

서지훈의 이미지

아마도 첨부해주신 소스도 그 일부분인것 같은데...
#define이 너무 많네요.
이건 그냥...
gcc -E 옵션으로 다 풀어 헤친걸 가지고 확인을 해보세요 ㅡㅡㅋ
아무래도 이거 하나하나 다 따라 가는것 보단 이게 훨씬 빠를것 같군요.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

cinsk의 이미지

gcc 3.3.3에서 테스트한 결과 이상없습니다. 소스를 보지는 않아서 (너무 길어서 귀찮군요. :twisted: ) 모르겠지만, 한가지 이상한 점은,

Sparc이라면서 왜 소스 파일은 DOS text file이죠?

UNIX에서는 newline이 LF입니다. CR/LF로 되어 있는 DOS source file을 UNIX용 C compiler에서 컴파일하면 \를 쓴 escape sequence에서 제대로 해석하지 못할 확률이 높습니다. 그러니 먼저 소스 파일을 모두 UNIX text file로 바꾼 다음 다시 해 보기 바랍니다.

sozu의 이미지

답변 감사합니다.

백업 한답시고 윈도우에서 보관했다가 (수정도 좀 했지요) 다시 옮겼습니다;

제가 UNIX 환경에서는 작업을 많이 해보지 못해서 이런 실수를 한것 같습니다 :D

-----------
청하가 제안하는 소프트웨어 엔지니어로써 재미있게 사는 법
http://sozu.tistory.com

sozu의 이미지

해결했습니다;

정말 바보군요..전;;ㅠㅠ

-----------
청하가 제안하는 소프트웨어 엔지니어로써 재미있게 사는 법
http://sozu.tistory.com