[C] GCC: 동적 라이브러리 만들기
관련 포스트
https://blog.naver.com/sssang97/222901296890
동적 라이브러리는 런타임에 로드되는 라이브러리다.
유닉스는 .so, windows는 .ddl의 포맷을 가진다.
물론 GCC는 사실상 unix 전용이니, .so 파일만 뽑는다고 보면 된다.
먼저 당연히 C 코드가 있어야 한다.

이런식으로 정석적으로 구성이 잘 되어있다면
다음과 같이 옵션을 줘서 .so 파일을 뽑으면 된다.
gcc -fPIC -shared -o libhello.so add.c
-shared가 동적 라이브러리로 뽑겠다는 선언이고, fPIC은 위치 독립적인 코드(Position Independent Code)를 뽑겠다는 것이다. 코드의 위치가 가변적일 수 있어서 그러는건데, 동적 라이브러리는 반드시 이 옵션이 포함되어야한다.
그래서 이렇게 오류 없이 결과물이 잘 나오면 잘 된 것이다.
