컴퓨터활용/티맥스

proc 컴파일 옵션

멜번초이 2008. 7. 2. 18:27
반응형

[proframe@dev03:/userdir/proframe/proframe4.0/logging/dbio]$ proc

Pro*C/C++: Release 10.2.0.2.0 - Production on 화 2월 27 09:44:42 2007

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

시스템 기본 옵션 값이 가지고 온 곳: /oracle/app/oracle10g/product/1020/precomp/admin/pcscfg.cfg

옵션 이름      현재 값        기술
-------------------------------------------------------------------------------
auto_connect   아니오          ops$ 계정으로 자동 연결할 수 있도록 합니다
char_map       charz          문자 배열과 문자열을 대응합니다
close_on_commit아니오          COMMIT에 모든 커서를 닫습니다
cmax           100            접속 풀에 대한 CMAX 값
cmin           2              접속 풀에 대한 CMIN 값
cincr          1              접속 풀에 대한 CINCR 값
ctimeout       0              접속 풀에 대한 CTIMEOUT 값
cnowait        0              접속 풀에 대한 CNOWAIT 값
code           kr_c           생성될 코드 유형
comp_charset   multi_byte     C 컴파일러가 지원하는 문자 집합 유형
config         default        다른 파일로 시스템 구성 파일 무효화
cpool          아니오          접속 풀링 지원
cpp_suffix     *none*         기본 C++ 파일 이름 접미어 무효화
dbms           native         v6/v7/v8 호환성 모드
def_sqlcode    아니오         '#define SQLCODE sqlca.sqlcode' 매크로 생성
define         _LONG_LONG     선행 프로세서 기호 정의
               _IBM_C
               __64BIT__
               *none*
duration       transaction    캐시에 있는 객체에 대한 핀 기간 설정
dynamic        oracle         Oracle 또는 ANSI 동적 SQL 의미 지정
errors         예             오류 메시지가 터미널에 전송될지 여부
errtype        *none*         intype 파일 오류에 대한 목록 파일 이름
events         아니오          등록/가입 이벤트 통지가 지원됩니다.
fips           none           ANSI 비호환 사용의 FIPS 플래그 처리
header         *none*         이전에 컴파일된 헤더에 대한 파일 확장자 지정
hold_cursor    아니오          커서 캐시에서 커서 유지 제어
iname          *none*         입력 파일 이름
include        *none*         포함된 파일에 대한 디렉토리 경로
intype         *none*         유형 정보에 대한 입력 파일 이름
lines          아니오          생성된 코드에 #line 지시어 추가
lname          *none*         기본 목록 파일 이름 무효화
ltype          short          목록 파일에 생성된 데이터 양
maxliteral     1024           생성된 문자열 리터럴의 최대 길이
maxopencursors 10             캐시에 저장된 열린 커서의 최대 수
mode           oracle         Oracle 또는 ANSI 규칙에 대한 코드 일치
native_types   아니오          고유 float/double에 대한 지원
nls_char       *none*         국가별 언어 문자 변수 지정
nls_local      아니오          NLS 문자 의미가 수행되는 방법 제어
objects        예             객체 유형 지원
oname          *none*         출력 파일 이름
oraca          아니오          ORACA 사용 제어
pagelen        80             목록 파일의 페이지 길이
parse          full           비SQL 코드의 구문 분석 제어
prefetch       1              커서 OPEN 시 미리 인출된 행 수
release_cursor 아니오          커서 캐시에서 커서 해제 제어
select_error   예             선택 오류의 플래그 제어
sqlcheck       syntax         SQL 확인 시 컴파일 시간의 양
sys_include    /usr/include   시스템 헤더 파일이 있는 디렉토리
threads        아니오          다중 스레드 응용 프로그램을 나타냄
type_code      oracle         동적 SQL에 대한 Oracle 또는 ANSI 유형 사용
unsafe_null    아니오          지시자 변수 없이 널 인출 허용
userid         *none*         사용자 이름/암호 [@dbname] 접속 문자열
utf16_charset  nchar_charset  UTF16 변수에 의해 사용된 문자 집합 형식
varchar        아니오          암시적 varchar 구조 사용 허용
version        recent         반환될 객체의 버전
PCC-F-02135, CMD-LINE:  사용자가 도움을 요청했습니다
[proframe@dev03:/userdir/proframe/proframe4.0/logging/dbio]$


이것을 영문으로 다시 보면

[cbssvd01@e9812978:/logs/proframe/cbs/dbio_log]proc

Pro*C/C++: Release 10.2.0.3.0 - Production on Wed Jul 2 18:24:14 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

System default option values taken from: /oracle/app/oracle/product/10.2.0/precomp/admin/pcscfg.cfg

Option Name    Current Value  Description
-------------------------------------------------------------------------------
auto_connect   no             Allow automatic connection to ops$ account
char_map       charz          Mapping of character arrays and strings
close_on_commitno             Close all cursors on COMMIT
cmax           100            CMAX Value for connection pool
cmin           2              CMIN Value for connection pool
cincr          1              CINCR Value for connection pool
ctimeout       0              CTIMEOUT Value for connection pool
cnowait        0              CNOWAIT Value for connection pool
code           kr_c           The type of code to be generated
comp_charset   multi_byte     The character set type the C compiler supports
config         default        Override system configuration file with another
cpool          no             Support connection pooling
cpp_suffix     *none*         Override the default C++ filename suffix
dbms           native         v6/v7/v8 compatibility mode
def_sqlcode    no             Generate '#define SQLCODE sqlca.sqlcode' macro
define         _LONG_LONG     Define a preprocessor symbol
               _IBM_C
               __64BIT__
               *none*
duration       transaction    Set pin duration for objects in the cache
dynamic        oracle         Specify Oracle or ANSI Dynamic SQL Semantics
errors         yes            Whether error messages are sent to the terminal
errtype        *none*         Name of the list file for intype file errors
events         no             Support publish-subscribe event notifications
fips           none           FIPS flagging of ANSI noncompliant usage
header         *none*         Specify file extension for Precompiled Headers
hold_cursor    no             Control holding of cursors in the cursor cache
iname          *none*         The name of the input file
include        *none*         Directory paths for included files
intype         *none*         The name of the input file for type information
lines          no             Add #line directives to the generated code
lname          *none*         Override default list file name
ltype          short          The amount of data generated in the list file
maxliteral     1024           Maximum length of a generated string literal
maxopencursors 10             Maximum number of cached open cursors
mode           oracle         Code conformance to Oracle or ANSI rules
native_types   no             Support for native float/double
nls_char       *none*         Specify National Language character variables
nls_local      no             Control how NLS character semantics are done
objects        yes            Support object types
oname          *none*         The name of the output file
oraca          no             Control the use of the ORACA
pagelen        80             The page length of the list file
parse          full           Control which non-SQL code is parsed
prefetch       1              Number of rows pre-fetched at cursor OPEN time
release_cursor no             Control release of cursors from cursor cache
select_error   yes            Control flagging of select errors
sqlcheck       syntax         Amount of compile-time SQL checking
sys_include    /usr/include   Directory where system header files are found
threads        no             Indicates a multi-threaded application
type_code      oracle         Use Oracle or ANSI type codes for Dynamic SQL
unsafe_null    no             Allow a NULL fetch without indicator variable
userid         *none*         A username/password [@dbname] connect string
utf16_charset  nchar_charset  The character set form used by UTF16 variables
varchar        no             Allow the use of implicit varchar structures
version        recent         Which version of an object is to be returned
PCC-F-02135, CMD-LINE:  User asked for help
[cbssvd01@e9812978:/logs/proframe/cbs/dbio_log]



실제 컴파일 되는 모양을 본다면

proc lines=YES mode=ORACLE dbms=V8 unsafe_null=YES hold_cursor=YES             code=ANSI_C ltype=NONE define=DEBUG define=ORA_PROC define=PDB_TRACE define=GLOBALCB define=FRAME_DEV include=/tmax/proframe/cbs/pfm/inc include=/tmax/proframe/
cbs/release/dbio/inc include=/tmax/proframe/cbs/release/pmap/inc         include=/tmax/tmax/cbs include=/tmax/tmax/cbs/usrinc   include=/oracle/app/oracle/product/10.2.0/precomp/public  include=/oracle/app/oracle/product/10.2.0/rdbms/public  include=/tmax/npfm2/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/dbio/inc  include=/tmax/npfm2/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel
/pmap/inc  -I/oracle/app/oracle/product/10.2.0/precomp/public -I/oracle/app/oracle/product/10.2.0/rdbms/public   sqlcheck=SYNTAX iname=pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PS0000_1_03.pc oname=pfmDbioAFTS_TRMS_PRG
R_FILE_PTCL_PS0000.c

Pro*C/C++: Release 10.2.0.3.0 - Production on Wed Jul 2 17:36:43 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

System default option values taken from: /oracle/app/oracle/product/10.2.0/precomp/admin/pcscfg.cfg

>>> to compile c file
cc -q64 -btl -DORACLE  -qlanglvl=extc99 -g -q64 -qinfo=pro -brtl -O0 -qcpluscmt       -DUSE_TCACHE -DTCACHE_ON -DGLOBALCB -DAUTOFREECB -DTRACE -DDEBUG -D__PTHREAD_STATIC__ -D_PFM_SHORTNAME_WRAPPER -I/tmax/proframe/cbs/release/dbio/inc -I/oracle/app/oracle/product/10.2.0/rdbms/public  -I/tmax/npfm3/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/
dbio/inc  -I/tmax/npfm3/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/pmap/inc    -I/tmax/proframe/cbs/pfm/inc     -I/tmax/proframe/cbs/release/inc  -I/tmax/proframe/cbs/release/pmap/inc    -I/tmax/prof
rame/cbs/release/pmap/src    -I/tmax/proframe/cbs/release/dbio/inc     -I/tmax/tmax/cbs/usrinc -I/tmax/tmax/cbs   -I/oracle/app/oracle/product/10.2.0/precomp/public -I/oracle/app/oracle/product/10.2.0/rdbms/p
ublic     -c pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PS0000.c

"pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PS0000_1_03.pc", line 208.16: 1506-304 (I) No function prototype given for "func".

뭐 이렇게 되겠죠. 먼저 ~.pc 프로그램을 proc 컴파일러를 이용하여 ~.c 로 만든다음 다시  cc 컴파일러로 ~.c 를 ~.o 로 컴파일 하게 됩니다. 물론 이 ~.o 를 ~.a 나 ~.so, ~.sl 로 묶으려면  cc 를 한번 더 돌려야 하겠지요..

-----> 4. Compile entry-function source and link object files
    cc -q64 -btl        -DORACLE  -qlanglvl=extc99 -g -q64 -qinfo=pro -brtl -O0 -qcpluscmt       -DUSE_TCACHE       -DTCACHE_ON        -DGLOBALCB         -DAUTOFREECB       -DTRACE            -DDEBUG
     -D__PTHREAD_STATIC__ -D_PFM_SHORTNAME_WRAPPER    -I/tmax/proframe/cbs/release/dbio/inc -I/oracle/app/oracle/product/10.2.0/rdbms/public  -I/tmax/npfm3/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/
dbio/inc  -I/tmax/npfm3/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/pmap/inc    -I/tmax/proframe/cbs/pfm/inc     -I/tmax/proframe/cbs/release/inc  -I/tmax/proframe/cbs/release/pmap/inc    -I/tmax/prof
rame/cbs/release/pmap/src    -I/tmax/proframe/cbs/release/dbio/inc     -I/tmax/tmax/cbs/usrinc -I/tmax/tmax/cbs   -I/oracle/app/oracle/product/10.2.0/precomp/public -I/oracle/app/oracle/product/10.2.0/rdbms/p
ublic     -c pfmDbioAFTS_TRMS_PRGR_FILE_PTCL.c
"pfmDbioAFTS_TRMS_PRGR_FILE_PTCL.c", line 34.16: 1506-304 (I) No function prototype given for "func".
    /sw/openmcm/bin/McmMBL /sw/openmcm/config/mcm_mbl.opt pfmDbioAFTS_TRMS_PRGR_FILE_PTCL.c cc -q64 -btl        -DORACLE  -qlanglvl=extc99 -g -q64 -qinfo=pro -brtl -O0 -qcpluscmt       -DUSE_TCACHE       -DTC
ACHE_ON        -DGLOBALCB         -DAUTOFREECB       -DTRACE            -DDEBUG              -D__PTHREAD_STATIC__ -D_PFM_SHORTNAME_WRAPPER    -I/tmax/proframe/cbs/release/dbio/inc -I/oracle/app/oracle/product
/10.2.0/rdbms/public  -I/tmax/npfm3/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/dbio/inc  -I/tmax/npfm3/package/proframe/pfm_dev/src/ccut_test/ccut_src/rel/pmap/inc    -I/tmax/proframe/cbs/pfm/inc
 -I/tmax/proframe/cbs/release/inc  -I/tmax/proframe/cbs/release/pmap/inc    -I/tmax/proframe/cbs/release/pmap/src    -I/tmax/proframe/cbs/release/dbio/inc     -I/tmax/tmax/cbs/usrinc -I/tmax/tmax/cbs   -I/ora
cle/app/oracle/product/10.2.0/precomp/public -I/oracle/app/oracle/product/10.2.0/rdbms/public     -c
    cc -G -bshared -q64 -o libpfmDbioAFTS_TRMS_PRGR_FILE_PTCL.so  pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PD0000.o pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PF0000.o pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PI0000.o pfmDbioAFTS_TRMS_PR
GR_FILE_PTCL_PS0000.o pfmDbioAFTS_TRMS_PRGR_FILE_PTCL_PU0000.o pfmDbioAFTS_TRMS_PRGR_FILE_PTCL.o  -G -bshared -q64 -qlanglvl=extc99 -brtl  -L/tmax/proframe/cbs/pfm/lib     -L/tmax/proframe/cbs/release/lib  -L
/tmax/proframe/cbs/release/pmap/lib    -L/tmax/proframe/cbs/release/dbio/lib -L/tmax/tmax/cbs/lib64 -L/oracle/app/oracle/product/10.2.0/lib   -L/sw/openmcm/lib -lMcmMblTM -lMcmMatTP
목표 "all"은(는) 최근의 것입니다.
>>> [make] DBIO library linked 5 out of 5 modules successfully.

반응형