2008. 5. 15. 19:35
gcc 컴파일 에러 조치 invalid storage class 용-ILE/LNAG-C/C++2008. 5. 15. 19:35
OS : HP-UX kdrm01 B.11.11 U 9000/800
gcc : 4.1.1
에러 메시지
xmlconfig.c: In function 'process_addr':
xmlconfig.c:647: error: invalid storage class for function 'parse_addr'
조치 사항 :
xmlconfig.c 647 라인에 있는 static 선언을 제거 해줌
참고 사이트 : http://www.cinsk.org/cfaqs/html/node3.html#SECTION00340000000000000000
======================================================================================================
1.4 Storage Class 우리는 선언의 두 가지 부분, base type과 declarator를 이미 다루었습니다. 다음 몇 질문에서는 storage class에 대한 것을 다룹니다. Storage class는 선언된 object나 함수의 visibility와 lifetime을 (각각 ``scope''와 ``duration''이라고 부르기도 합니다.) 다룹니다.
- Q 1.10
- static 함수나 변수를 선언할 때, 항상 static이라고 써 주어야 하나요?
- Answer
- 언어 표준에서는 항상 써 줄 것을 요구하지는 않습니다. (가장 중요한 것은 첫 선언에 static을 써 주는 것입니다.) 하지만 규칙이 조금 복잡하게 얽혀있고, 함수냐 변수냐에 따라 조금씩 다릅니다. (게다가 이 문제에 있어서 현존하는 코드도 너무나도 다양합니다.) 따라서 가장 안전한 방법은, 모든 정의와 선언에서 항상 static을 써 주는 것입니다.
- References
- [ANSI] § 3.1.2.2
[C89] § 6.1.2.2
[ANSI Rationale] § 3.1.2.2
[H&S] § 4.3 p. 75
======================================================================================================
'용-ILE > LNAG-C/C++' 카테고리의 다른 글
[gcc] 문자열 추출 파싱 (0) | 2008.05.15 |
---|---|
[gcc] 바이너리 서치 인접 최소값 , 최대값 이진 탐색 (0) | 2008.05.15 |
[gcc] 선택 정렬 (0) | 2008.05.15 |
아파치 쿼리 로그 흘긋? 보는 GlanceQry v 0.4 키워드 로그 파싱 (0) | 2008.05.15 |
[gcc] 시스템 명령 결과 데이터 사용 popen() (0) | 2008.05.15 |