linux gcc 에서 c90 프로그램와 c99 공유라이브러리 사용시??

trymp의 이미지

linux gcc C99 표준으로 공유라이브러리 abc.so 를 빌드하고

C90 으로 test 라는 프로그램을 빌드하고 abc.so 를 공유라브러리로 링크에서 사용시

이게 run time 시에 문제가 될 수 있나요?

혹시나 하는 마음에 질문드립니다.

익명 사용자의 이미지

흐음... 흥미로운 질문입니다. 같은 버젼의 gcc를 사용한다면 문제가 없어야할 것 같은데 자신은 없네요. C99에서 binary 호환성을 깰만한 정도의 "언어" 변화가 도입되지는 않았을 것 같습니다. 깨지더라도 라이브러리 문제겠지요. 표준 라이브러리는 표준이 바뀌면서 ABI incompatibility가 생길 수 있겠지만 사용자가 직접 작성한 것들은 binary 수준에서는 호환되어야 할 것 같습니다. 아마도 그렇지 않을까요?