CCI API 에서 #pragma pack(push,1) 오류

by David Kang posted Aug 25, 2009
센트 OS 에서 CCI API 이용해서 프로그램중입니다.
#pragma pack(push,1)  (소스  최상단에 적어줌)
cout << "Result column informationn========================================n" << endl;
  for (i=1; i<=col_count; i++)
  {
    printf("name:%s  type:%d,attrname:%s, classname:%s(precision:%d scale:%d)n",
     CCI_GET_RESULT_INFO_NAME(res_col_info, i),
     CCI_GET_RESULT_INFO_TYPE(res_col_info, i),
     CCI_GET_RESULT_INFO_ATTR_NAME(res_col_info, i),
     CCI_GET_RESULT_INFO_CLASS_NAME(res_col_info, i),
     CCI_GET_RESULT_INFO_PRECISION(res_col_info, i),
     CCI_GET_RESULT_INFO_SCALE(res_col_info, i));
  }
  printf("========================================n");
 
위의 구문을 실행하면
"세그멘테이션 오류" 사 발생합니다.
위의 printf 문에서 발생하면  
CCI_GET_RESULT_INFO_NAME, 
CCI_GET_RESULT_INFO_ATTR_NAME,
CCI_GET_RESULT_INFO_CLASS_NAME
같이 스트링을 리턴하는 부분에서 오류 발생합니다.

cci_get_data 함수를 CCI_A_TYPE_STR 타입으로 호출하는 경우 값이 비 정상적으로 리턴합니다.

해결책을 알려주세요.

Articles