분명히 정적 오브젝트인 것 같은데, 관련 프로그램을 다시 컴파일하지 않으면 오류가 발생한 적이 여러 번 있었다.

오늘에서야 의문이 풀렸다.

내가 정적(static) 이라고 생각했던 것은, 공유 오브젝트였다.

아마 확장자가 *.a 여서 그렇게 판단했을 텐데, AIX 에서는 확장자로 정적/공유 를 구분하지 않는다고 한다.

정적인지 공유인지 구별하는 방법은

$ dump -ov 오브젝트

의 결과에 SHROBJ 가 있으면 공유, 없으면 정적이라고 한다.

아래는 참고 문서이다.

오브젝트 파일이 공유 오브젝트인지 정적 오브젝트인지 구분하려면 dump 명령을 사용해야 한다. 예제 2-3에서 Flags 줄에 SHROBJ 키워드가 나오는데 이 경우 이 오브젝트 파일은 공유 오브젝트이고 이 키워드가 안 나오면 정적 오브젝트이다.
$ dump -ov shr.o
shr.o:
***Object Module Header***
# Sections Symbol Ptr # Symbols Opt Hdr Len Flags
5 0x00251764 26925 72 0x3002
Flags=( EXEC DYNLOAD SHROBJ )
Timestamp = "Feb 03 08:59:14 2003"
Magic = 0x1df (32-bit XCOFF)


(출처:
http://www-903.ibm.com/kr/techinfo/pseries/tech/Developing_C_C++_Application_on_AIX_AIX_DIY(SE).pdf
)