달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

http://suite.tistory.com/ fs


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

======================================================================================================




 

:
Posted by mastar