ESQL 방식으로 Oracle을 사용하면서 ncurses 함수 사용하기

0
points

학교 숙제로 ESQL을 통한 Oracle 이용 실습을 해보고 있습니다.

사용자 암호 입력을 받기 위해서 noecho() 및 getch() 함수를 제공하는 curses 라이브러리를 쓰고자 하는데요, 문제는 ESQL을 처리하기 위한 Precompiler에 #include <curses.h>가 포함된 main.pc 파일을 넘기면 curses.h에서 컴파일 에러를 낸다는 겁니다. Precompiler를 사용하지 않는 일반 C 프로그램의 경우는 아무런 문제가 없구요.

(ESQL은 C 언어에 바로 SQL을 embed하여 쓰는 것으로 SQL 표준으로 지정된 방법입니다. EXEC SQL ...; 식으로 C언어에 바로 sql을 쓸 수 있고, 파일 확장자는 pc를 가집니다.)

에러 메시지는 대략

Syntax error at line 342, column 2, file /usr/include/ncurses.h:
Error at line 342, column 2 in file /usr/include/ncurses.h
        bool    _notimeout;     /* no time out on function-key entry? */
.1
PCC-S-02201, Encountered the symbol "_Bool" when expecting one of the following:

   } char, const, double, enum, float, int, long, ulong_varchar,
   OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
   OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
   OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
   struct, union, unsigned, utext, uvarchar, varchar, void,
   volatile, a typedef name,

Syntax error at line 0, column 0, file main.pc:
Error at line 0, column 0 in file main.pc
PCC-S-02201, Encountered the symbol "<eof>" when expecting one of the following:

   ; : an identifier, end-exec, random_terminal

Error at line 0, column 0 in file main.pc
PCC-F-02102, Fatal error while doing C preprocessing
make: *** [all] Error 1

이라고 나옵니다. -_-;

lovian의 이미지
1122
points

C 의 데이터타입에

0
points

C 의 데이터타입에 bool는 없는 것으로 알고 있습니다.
C니까 bool이 없는 형태라고 에러를 내는게 아닌지..
-----------------
한글을 사랑합니다.

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.