C용 스택 함수
C 함수를 호출하기 위해 EGL이 함수 및 호출 코드 간에 인수를 전달하는 메커니즘인 인수 스택을 사용합니다. EGL 호출 함수는 인수를 스택에 푸시하고 피호출 C 함수는 이를 스택에서 가져와 값을 사용합니다. 피호출 함수는 해당 리턴 값을 스택에 푸시하고 호출자는 이를 가져와 값을 검색합니다. pop 및 return 외부 함수는 인수 스택 라이브러리와 함께 제공됩니다. pop 외부 함수는 각각 인수 스택에서 가져온 값의 데이터 유형에 따라 아래에서 설명합니다. return 외부 함수는 C용 Return 함수에서 설명합니다.
값을 리턴하는 라이브러리 함수
- extern void ibm_lib4gl_popMInt(int *iv)
- extern void ibm_lib4gl_popInt2(short *siv)
- extern void ibm_lib4gl_popInt4(int *liv)
- extern void ibm_lib4gl_popFloat(float *fv)
- extern void ibm_lib4gl_popDouble(double *dfv)
- extern void ibm_lib4gl_popDecimal(dec_t *decv)
- extern void ibm_lib4gl_popInt8(ifx_int8_t *bi)
| 7.31 이전 버전 이름 | 버전 7.31 이상 이름 |
|---|---|
| popint | ibm_lib4gl_popMInt |
| popshort | ibm_lib4gl_popInt2 |
| poplong | ibm_lib4gl_popInt4 |
| popflo | ibm_lib4gl_popFloat |
| popdub | ibm_lib4gl_popDouble |
| popdec | ibm_lib4gl_popDecimal |
- 인수 스택에서 한 개의 값을 제거합니다.
- 필요한 경우 해당 데이터 유형을 변환합니다. 스택의 값을 지정된 유형으로 변환할 수 없으면 오류가 발생합니다.
- 값을 지정된 변수에 복사합니다.
구조 유형 dec_t 및 ifx_int8_t를 사용하여 C 프로그램의 DECIMAL 및 BIGINT 데이터를 표현합니다. dec_t 및 ifx_int8_t 구조 유형 및 DECIMAL 및 BIGINT 변수를 조작하고 인쇄하는 라이브러리 함수에 대한 자세한 정보는 IBM Informix ESQL/C 프로그래머용 매뉴얼을 참조하십시오.
문자열를 가져오기 위한 라이브러리 함수
- extern void ibm_lib4gl_popQuotedStr(char *qv, int len)
- extern void ibm_lib4gl_popString(char *qv, int len)
- extern void ibm_lib4gl_popVarChar(char *qv, int len)
| 7.31 이전 버전 이름 | 버전 7.31 이상 이름 |
|---|---|
| popquote | ibm_lib4gl_popQuotedStr |
| popstring | ibm_lib4gl_popString |
| popvchar | ibm_lib4gl_popVarChar |
ibm_lib4gl_popQuotedStr( ) 및 ibm_lib4gl_popVarChar( ) 둘 다 len 바이트를 문자열 버퍼 *qv에 정확히 복사합니다. 여기서 ibm_lib4gl_popQuotedStr( )은 필요한 대로 공백으로 채우지만, ibm_lib4gl_popVarChar( )는 전체 길이까지 채우지 않습니다. 버퍼에 복사된 최종 바이트는 문자열을 종료하는 널 바이트이므로 최대 문자열 데이터 길이는 len-1입니다. 스택에 저장된 인수의 길이가 len-1보다 크면 후미 바이트가 유실됩니다.
시간 값을 가져오기 위한 라이브러리 함수
- extern void ibm_lib4gl_popDate(int *datv)
- extern void ibm_lib4gl_popInterval(intrvl_t *iv, int qual)
- extern void ibm_lib4gl_popDateTime(dtime_t *dtv, int qual)
| 7.31 이전 버전 이름 | 버전 7.31 이상 이름 |
|---|---|
| popdate | ibm_lib4gl_popDate |
| popdtime | ibm_lib4gl_popDateTime |
| popinv | ibm_lib4gl_popInterval |
구조 유형 dtime_t 및 intrvl_t를 사용하여 C 프로그램의 DATETIME 및 INTERVAL 데이터를 표합니다. qual 인수는 DATETIME 또는 INTERVAL 규정자의 2진 표현을 수신합니다. dtime_t 및 intrvl_t 구조 유형과 DATE, DATETIME 및 INTERVAL 변수를 조작하고 인쇄하는 라이브러리 함수에 대한 자세한 정보는 IBM Informix ESQL/C 프로그래머용 매뉴얼을 참조하십시오.
BYTE 또는 TEXT 값을 가져오기 위한 라이브러리 함수
- extern void ibm_lib4gl_popBlobLocator(loc_t **blob)
| 7.31 이전 버전 이름 | 버전 7.31 이상 이름 |
|---|---|
| poplocator | ibm_lib4gl_popBlobLocator |
EGL이 자동 데이터 유형 변환을 제공하므로 BYTE 또는 TEXT 인수를 BYTE 또는 TEXT로 가져와야 합니다.