ALTIBASE 사용자가이드 Templete

Similar documents
ALTIBASE 사용자가이드 Templete

13주-14주proc.PDF

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

K&R2 Reference Manual 번역본

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

슬라이드 1

ALTIBASE 사용자가이드 Templete

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

윤성우의 열혈 TCP/IP 소켓 프로그래밍

ALTIBASE HDB Patch Notes

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

C++-¿Ïº®Çؼ³10Àå

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

윈도우시스템프로그래밍

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - ch 전처리기, 다중 소스파일 pm1015

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Adobe Flash 취약점 분석 (CVE )

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Chapter #01 Subject

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

chap 5: Trees

ALTIBASE 사용자가이드 Templete

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

ALTIBASE 사용자가이드 Templete

Microsoft PowerPoint - chap12-고급기능.pptx

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

untitled

슬라이드 1

컴파일러

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Lab 3. 실습문제 (Single linked list)_해답.hwp

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - chap10-함수의활용.pptx

歯PLSQL10.PDF

강의 개요

금오공대 컴퓨터공학전공 강의자료

UI TASK & KEY EVENT

90

PowerPoint Template

10.ppt

MySQL-.. 1

DBMS & SQL Server Installation Database Laboratory

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

C언어 및 실습 C Language and Practice

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

본 강의에 들어가기 전

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

<C6F7C6AEB6F5B1B3C0E72E687770>

Microsoft PowerPoint - chap08-1 [호환 모드]

Windows 10 General Announcement v1.0-KO

untitled

윈도우시스템프로그래밍

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

PowerPoint Presentation

11장 포인터

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Microsoft PowerPoint - chap06-1Array.ppt

Frama-C/JESSIS 사용법 소개

PowerPoint 프레젠테이션

歯sql_tuning2

C++ Programming

금오공대 컴퓨터공학전공 강의자료

BMP 파일 처리

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

API 매뉴얼

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - chap11-포인터의활용.pptx

슬라이드 1

C 프로그램의 기본

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - lab14.pptx

1장. 유닉스 시스템 프로그래밍 개요

제4장 기본 의미구조 (Basic Semantics)

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint SQL 추가 기능

Microsoft PowerPoint - additional01.ppt [호환 모드]

Slide 1

vi 사용법

문서 템플릿

PowerPoint 프레젠테이션

11장 포인터

Microsoft Word - FunctionCall

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

KNK_C_05_Pointers_Arrays_structures_summary_v02

공개 SW 기술지원센터

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

기초컴퓨터프로그래밍

Transcription:

Real Alternative DBMS ALTIBASE, Since 1999 APRE*C/C++ New Features & 업그레이드가이드 ALTIBASE 5.3.3 2010. 05 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved.

Document Control Change Record Date Author Change Reference 2010-05-04 durusari Created Reviews Date Name (Position) 2010-01-20 omegaman(sc), bluetheme(ts), hjkim(sc), fhan(sc) 2010-05-04 wlgml337(tc) Distribution Name Location APRE*C/C++ New Features & 업그레이드가이드 2 page of 14

목차 개요. 4 APRE*C/C++.. 5 용어설명 5 도입배경 5 New Features 요약.. 5 New Features 상세.. 6 유의사항. 10 참고사항. 11 SES*C/C++ 환경에서 APRE*C/C++ 로의업그레이드.. 12 변경사항. 12 업그레이드절차.. 12 유의사항. 13 APRE*C/C++ New Features & 업그레이드가이드 3 page of 14

개요 본문서는 SES*C/C++ 의후속버전인 APRE*C/C++ 의새로운기능과변경사항및업그레이드절차에대해설명한다. 문서에언급하지않은구체적인사항은 [Precompiler 매뉴얼 ] 을참고하도록한다. 문서의기준은 APRE*C/C++ 가제공되는 ALTIBASE 5.3.3 이며문서상의실행결과는 5.3.3.7 로수행한결과이다. 문서의이해를돕기위해아래기술문서를함께참조하는것을권장한다. ALTIBASE APRE(SES)*C/C++ makefile ALTIBASE Precompiler 개발가이드 (APRE*C/C++) APRE*C/C++ New Features & 업그레이드가이드 4 page of 14

APRE*C/C++ ALTIBASE 의새로워진 Precompiler of Embedded SQL 에대하여설명한다. 요약형태의설명으로기능에대한상세사용법과같은구체적인사항은 [Precompiler 매뉴얼 ] 을참고하도록한다. 용어설명 Precompiler of Embedded SQL 내장 SQL(Embedded SQL) 이포함된소스코드를입력받아, 해당내장 SQL 을실행시간라이브러리함수호출로변환한소스코드를생성하는프로그램. SES*C/C++ ALTIBASE 5.1.5 이하의 Precompiler of Embedded SQL 의약어로소스코드로 C 와 C++ 을지원한다. APRE*C/C++ ALTIBASE 5.3.3 이상의 Precompiler of Embedded SQL 의약어로소스코드로 C 와 C++ 을지원한다. SES*C/C++ 와비교하여업그레이드수준의기능개선을하였다. 도입배경 SES*C/C++ 는내장 SQL 만처리가가능하며이외에도아래와같은다수의제약을가지고있어사용상에불편함이있었다. 매크로 (macro) 처리제약. 호스트변수선언부 (DECLARE SECTION) 외부에호스트변수선언불가. 호스트변수선언방식및사용제약. 일부표준내장 SQL 구문미지원. ALTIBASE 사용자에게 Precompiler of Embedded SQL 을통한개발편의성을제공하기위해서이러한제약은우선적으로개선되어야할사항이다. New Features 요약 SES*C/C++ 에존재하던다수의제약을대폭개선하였다. 기능업데이트수준을넘어서는업그레이드를적용하면서명칭또한 APRE*C/C++(ALTIBASE C/C++ Precompiler of Embedded SQL) 로변경되었다. APRE*C/C++ 에새롭게추가된기능은아래와같다. APRE*C/C++ New Features & 업그레이드가이드 5 page of 14

매크로처리를위한 Partial C Preprocessor 탑재. 호스트변수선언부외부의호스트변수선언을위한 C Parser 탑재. 호스트변수선언방식및사용제약완화를위한라이브러리재작성. DECLARE STATEMENT 구문추가지원. 이와더불어아래와같은개선을하였다. WHENEVER 구문사용시함수호출가능. APRE*C/C++ 실행파일 (apre) 명령옵션변경및추가. 에러메세지출력형태변경. New Features 상세 Partial C Preprocessor 탑재 아래와같은대부분의매크로가선언영역에대한제한없이처리가가능하게되었다. #include, #define, #if, #ifdef, #ifndef, #endif, #else, #elif #define ALTIBASE EXEC SQL INSERT INTO T1 VALUES #ifdef ALTIBASE ( :altibase ); #else ( :other_dbms ); #endif C Parser 탑재 소스코드를 C 로작성하는경우에한하여호스트변수선언부외부 (DECLARE SECTION) 에서도호스트변수선언이가능하게되었다. int i = 10; int j; int k; varchar vc[len]; EXEC SQL INSERT INTO T1 VALUES (:i, :j, :k, :vc); 호스트변수선언방식및사용제약완화 호스트변수사용과관련된다수의제약이제거되었다. 상세내용은아래와같다. 1. 호스트변수선언과동시에초기값을할당가능. APRE*C/C++ New Features & 업그레이드가이드 6 page of 14

int i = 10*10; char j[10] = "abcd"; 2. typedef 후구조체정의가능. ( 역으로도가능 ) typedef struct department department; struct department { short dno; char dname[30+1]; char dep_location[9+1]; }; 3. 내장 SQL 문에서배열형의호스트변수사용시배열요소지정가능. struct tag1 { int i1; int i2; } var1[10]; EXEC SQL INSERT INTO T1(I1, I2) VALUES(:var1[0].i1, :var1[0].i2); 4. char *, struct * 외의다른데이터형도포인터형호스트변수로사용가능. struct { int i; char c; } structvar; int *i_ptr = &structvar.i; char *c_ptr = &structvar.c; EXEC SQL SELECT i, c INTO :i_ptr, :c_ptr FROM TMP; 5. SELECT 구문의 INTO 절에 : 없이출력용호스트변수사용가능. char name[10]; EXEC SQL SELECT DEP_NAME INTO name FROM DEPT; 6. FOR 절의입력호스트변수가배열타입이아니더라도사용가능. int cnt = 1; int var1 = 10; EXEC SQL FOR :cnt INSERT INTO T1 VALUES (:var1); 7. 유니온 (Union) 형의호스트변수사용가능. APRE*C/C++ New Features & 업그레이드가이드 7 page of 14

union uni { int a; char s[10]; } u; EXEC SQL INSERT INTO T1 VALUES ( :u.s ); DECLARE STATEMENT 구문추가지원 표준 Embedded SQL 구문으로 DECLARE STATEMENT 구문을추가지원한다. 다른내장 SQL 구문에사용될수있도록, SQL 구문이나 PL/SQL 블럭에대한식별자를선언할수있다. EXEC SQL DECLARE my_statement STATEMENT; EXEC SQL DECLARE emp_cursor CURSOR FOR my_statement; EXEC SQL PREPARE my_statement FROM :my_string; WHENEVER 구문사용시함수호출가능 WHENEVER <condition> DO <function> 와같은형태로 WHENEVER 구문사용시특정함수를호출할수있게개선되었다. EXEC SQL WHENEVER SQLERROR DO sql_error_occur(); APRE*C/C++ 실행파일 (apre) 명령옵션변경 1. I 기존 SES*C/C++ 에서 include 옵션으로제공되던옵션으로써 I 로명칭이변경되었다. precompile 시 include 할소스코드파일의경로를명시한다. 이옵션은코드내의 EXEC SQL OPTION (INCLUDE=library_path) 와같은기능을한다. $ apre -t cpp I$APP_HOME/include/main tmp.sc APRE*C/C++ 실행파일 (apre) 명령옵션추가 1. D 전처리 (Preprocess) 시사용될매크로를선언한다. 이옵션은코드내의 #define 과같은기능을한다. $ apre DALTIBASE DOTHER_DBMS -t cpp tmp.sc 2. keyword 예약된키워드들을보여준다. $ apre -keyword 3. parse parsing_mode APRE*C/C++ New Features & 업그레이드가이드 8 page of 14

파싱모드 (parsing mode) 를지정하여소스파일에대한 precompile 범위를결정한다. -parse 옵션의파싱모드와그에따른처리범위는아래와같다. -parse 옵션자체를생략할경우는기본적으로파싱모드가 partial 로작동한다. 파싱모드 내장 SQL A 매크로 B none O X X partial O O X full O O O 선언부외부호스트변수 C 비고 SES*C/C++ 와동일하게작동 #include 형식의헤더파일은처리하지않음 Partial C Preprocessor 추가작동 #include 형식의헤더파일까지처리 APRE*C/C++ 의기본파싱모드 C Parser 가추가작동 #include 형식의헤더파일까지처리 단, C++ 스타일로작성된소스코드는선언부외부호스트변수인식불가 [#include 형식의헤더파일까지처리 ] 의경우, 해당헤더파일이 #include 형식으로선언한또다른헤더파일까지도모두처리된다. [main.sc] C #include <header.h> #ifdef ALTIBASE int i=3; int j=5; #else #endif A B EXEC SQL select * into n from t1 where i1=:i; [header.h] #define ALTIBASE char name[10]; 예를들어, 위예제에서의쿼리를아래와같이매크로를사용한선택적인쿼리로변경후 EXEC SQL select * into n from t1 #ifdef ALTIBASE where i1=:i and i2 > 'A'; #else where i1=:i; #endif 파싱옵션을생략하여기본파싱모드인 partial 로 precompile 할경우 $ apre -t c main.sc APRE*C/C++ New Features & 업그레이드가이드 9 page of 14

실제생성코드는아래와같이매크로처리가완료된상태로만남게된다. ( 매크로처리후불필요하여제거된부분은공백으로치환된다 ) /* select * from t1 where i1=:i and il> 'A'; */ { struct ulpsqlstmt ulpsqlstmt; ulphostvar ulphostvar[2]; ulpsqlstmt.hostvalue = ulphostvar; ulpsqlstmt.stmttype = 4; ulpsqlstmt.stmtname = NULL; ulpsqlstmt.ismt = 0; 기존 SES*C/C++ 와동일하게 precompile 하기위해 parse none 을지정한경우에는매크로처리기능이작동하지않음으로변수중복선언에러가발생한다. $ apre -t c -parse none main.sc ----------------------------------------------------------------- Altibase C/C++ Precompiler. Release Version 5.3.3.7 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- [ERR-51011 : redefinition of 'i'.] [ERR-204E : The symbol name [i] can't be added on the symbol table.] File : main.sc Line : 13 Offset: 24-24 Error_token:; 유의사항 문법 (syntax) 강화 기존 SES*C/C++ 는코드에서 EXEC SQL BEGIN/END DECLARE/ARGUMENT SECTION 을기술할경우, 종결자인 ; 이누락되어도무관하였으나 APRE*C/C++ 는반드시 ; 가있어야한다. 이는타 DBMS Precompiler 와도동일한제약사항이다. 아래는 END DECLARE SECTION 에종결자를기재하지않은경우의에러이다. [ERR-302L : EXEC SQL END DECLARE SECTION is not exist.] C++ 스타일의소스코드 precompile 호스트변수선언부외부에호스트변수를사용하기위해서는 parse 옵션의모드를 full 로해야한다. 하지만, 파싱모드를 full 로설정하면 C 파서가동작하기때문에 C++ 스타일의소스코드는전처리중각종파싱에러를발생시킬수있다. 즉, C++ 스타일로작성된소스코드는 SES*C/C++ 와같이호스트변수선언부에만호스트변수를선언하고, -parse 옵션을명시적으로지정하여 precompile 할경우에는파싱모드를 partial 또는 none 으로해야한다. -D, -I 옵션 APRE*C/C++ New Features & 업그레이드가이드 10 page of 14

C/C++ 컴파일단계에서 D, -I 옵션을사용한다면대부분의경우 APRE*C/C++ 를통한 precompile 단계에서도동일한옵션을주어야올바른 precompile 이가능하다. 참고사항 -I 옵션 기존처럼 include 로사용하여도무방하나향후유지보수를고려하여새로운옵션으로변경하여사용하는것을권장한다. 이진데이터타입변경 기존에사용되었던 SES_CLOB, SES_BLOB, SES_BINARY, SES_BYTES, SES_NIBBLE 타입의이름이 APRE_CLOB, APRE_BLOB, APRE_BINARY, APRE_BYTES, APRE_NIBBLE 로변경됐다. 하위호환성이고려되었기에기존이름을사용해도무방하다. precompile 수행시간 SES*C/C++ 와비교하여 precompile 수행시간이다소느려졌다. 아래는 ALTIBASE 설치시제공되는 sample 예제 arrays1.sc(450 lines) 를 SES*C/C++, APRE*C/C++ 로각각 precompile 을수행한시간을측정한결과이다. SES C/C++ Precompiler 3 Ver 5.1.5.53 $ time sesc -t cpp arrays1.sc -silent APRE C/C++ Precompiler Ver 5.3.3.7 $ time apre -t cpp arrays1.sc silent real user sys 0m0.203s 0m0.168s 0m0.006s real user sys 0m0.278s 0m0.245s 0m0.004s 위측정결과는 IBM AIX5.3 (Power5 1898 MHz 1EA) 에서 precompile 한결과로실제수행속도는 OS 환경에따라달라질수있다. APRE*C/C++ New Features & 업그레이드가이드 11 page of 14

SES*C/C++ 환경에서 APRE*C/C++ 로의업그레이드 SES*C/C++ 환경에서 APRE*C/C++ 로의업그레이드시고려사항과절차에대해설명한다. 변경사항 SES*C/C++ 에서 APRE*C/C++ 로명칭이변경되면서아래와같이실행파일, 헤더파일, 라이브러리파일, 링크옵션, 실행파일명령옵션명칭이일부분변경되었다. 구분 SES*C/C++ APRE*C/C++ 관련파일경로비고 실행파일 sesc apre $ALTIBASE_HOME/bin 변경 헤더파일 ses.h ulplibinterface.h $ALTIBASE_HOME/include 변경 라이브러리파일 libsesc.a libapre.a $ALTIBASE_HOME/lib 변경 libsesc_sl.so libapre_sl.so $ALTIBASE_HOME/lib 변경 링크옵션 -lsesc -lapre - 변경 실행파일명령옵션 -include -include or -I - 추가 이중실행파일, 헤더파일및라이브러리파일은하위호환성이고려되어있어별도로조치할사항이없으나실행파일명과링크옵션은반드시변경되어야한다. 또한, 필수적인요소는아니나 include 옵션의경우도 I 로변경하는것을권장한다. 업그레이드절차 SES*C/C++ 개발환경에서 APRE*C/C++ 로업그레이드시의절차는아래와같다. 1. APRE*C/C++ 버전확인 $ apre -v 기본적으로최신버전의 APRE*C/C++ 를사용하는것을권장하며최소 5.3.3.15 이상을사용하여야한다. BUG-28392 Direct Execute 실패시메모리증가 (fixed at 5.3.3.5) BUG-28588 null fetch 시 statement 해제하지않음 (fixed at 5.3.3.6) BUG-29745 SELECT 컬럼절에숫자가있을때커서사용시접속해제가발생 BUG-29903 prepare 실패를반복시메모리증가 (fixed at 5.3.3.15) 2. 컴파일관련옵션수정 [ 변경사항 ] 섹션의표를참조, 아래와같은명령문수행, 링크옵션, makefile 과같은컴파일관련파일의옵션을수정한다. 실행파일명변경 $ apre -t cpp connect1.sc 링크옵션변경 APRE*C/C++ New Features & 업그레이드가이드 12 page of 14

$ g++ -Wl,-relax -L. -O3 -L/home/wlgml337/altibase_home2/lib -o connect1 connect1.o -lapre -lodbccli -ldl -lpthread -lcrypt -lrt makefile %.cpp : %.sc apre -t cpp $< connect1: connect1.$(objext) connect1.cpp $(LD) $(LFLAGS) $(LDOUT)connect1$(BINEXT) connect1.$(objext) $(LIBOPT)apre$(LIBAFT) $(LIBOPT)odbccli$(LIBAFT) $(LIBS) 임시조치 변경관련파일이쉽게파악되지않거나양이많아일일이수정할수없는경우는 [ 절차 2] 를생략하고아래와같이 APRE*C/C++ 실행파일에대해 SES*C/C++ 실행파일명칭으로심볼릭 (symbolic) 링크를생성하여조치가가능하다. (5.3.3.9 이후부터는 ALTIBASE 패키지자체에반영되어있으므로아래명령어를수행하지않아도된다.) $ ln -s $ALTIBASE_HOME/bin/apre $ALTIBASE_HOME/bin/sesc 하지만, 이러한조치는어디까지나임시적인조치일뿐이므로반드시관련명칭을변경하는정상적인업그레이드를수행해야한다. 유의사항 -parse none 옵션추가 [ 제약사항 ] 섹션에서언급한문법강화로인한사항이아닌데도 SES*C/C++ 에서는이상없이 precompile 되던소스코드가 APRE*C/C++ 에서는에러가발생할수있는데, 이경우는 APRE*C/C++ 의파싱모드가기본적으로 partial 이기때문에 #include 방식으로포함된헤더파일까지매크로처리를하면서발생하는오류일가능성이높다. 따라서, 에러발생원인을쉽게알수없다면 SES*C/C++ 와동일하게 precompile 을하기위한 -parse none 옵션을추가하여일차적인확인을하는과정이필요하다. Precompiler 라이브러리사용으로인한오류 기존의소스코드가 SES*C/C++ 라이브러리를직접적으로사용하도록작성되었다면 Precompiler 라이브러리 interface 변경으로인해컴파일이되지않을수있다. 이경우는기존소스코드에서관련코드를모두제거하여야만한다. Precompiler 의라이브러리 interface 는변경이잦은내부적인요소로써원칙적으로사용자의직접적인사용을금한다. 따라서, precompile 된소스코드를분석, 사용자임의로소스코드에관련매크로, 구조체및함수를사용하면서추후발생되는오류는책임지지않는다. APRE*C/C++ New Features & 업그레이드가이드 13 page of 14

알티베이스 서울특별시구로구구로 3 동 182-13 대륭포스트 2 차 1008 호 02-2082-1000 http://www.altibase.com 대전사무소대전광역시서구둔산동 921 주은리더스텔 901 호 042-489-0330 기술지원본부서울특별시구로구구로 3 동 182-13 대륭포스트 2 차 908 호 02-2082-1000 기술지원센터 02-2082-1114 http://support.altibase.com Copyright c 2000~2013 ALTIBASE Corporation. All Rights Reserved. 이문서는정보제공을목적으로제공되며, 사전에예고없이변경될수있습니다. 이문서는오류가있을수있으며, 상업적또는특정목적에부합하는명시적, 묵시적인책임이일체없습니다. 이문서에포함된 ALTIBASE 제품의특징이나기능의개발, 발표등의시기는 ALTIBASE 재량입니다. ALTIBASE는이문서에대하여관련된특허권, 상표권, 저작권또는기타지적재산권을보유할수있습니다. APRE*C/C++ New Features & 업그레이드가이드 14 page of 14