안녕하세요...
GCC에서 const array 초기화 문제에 대해서 질문 올려 봅니다.
현재 하고 있는 프로젝트에서 기존 source에 const array를 사용하는 부분이 있는데요..
기존에는 Ada-Multi로 컴파일했을 때는 이상이 없었는데,
이번에 컴파일러는 GCC로 바꾸면서 문제가 되고 있습니다.
소스 확장자가 CXX라서 C++로 컴파일이 되고 있구요..
다음과 같은 소스가 있을 때,
const int A[2] = {1, 2};
const int B = A[0];
void TEST()
{
printf("%d\n", B);
}
위 TEST 함수를 실행하면, 1이 아닌 0이 출력되네요..
GCC 컴파일러 이외의 컴파일러에서는 1이 출력이 됩니다만, GCC에서만 0이 출력됩니다.
위 const int A[2] = {1, 2}; 구문 자체가 잘못된것 같긴 합니다만,
GCC에서 B가 A[1]의 값으로 초기화가 되게 하는 방법이 없을까요?