library을 이용하는 방법에는
dynamic 과 static이 있읍니다.
static library는 보통 .a 확장자를 가집니다.
dynamic library는 unix의 경우 .so .sl 등을 사용하며 windows는 dll을 사용하기도 합니다.
compile된 실행파일에서 library를 찾는 경우는 dynamic으로 컴파일된 경우입니다.
이 때에는 library path를 지정해주면 해당 library를 load하여 프로그램이
실행될 수 있읍니다.
library path는 실행 환경파일에 잡는데
( solaris, linux : LD_LIBRARY_PATH
aix :LIB_PATH
hp :SHLIB_PATH
windows : LIB or PATH)를 사용합니다.
esql의 경우 default로 dynamic으로 컴파일 합니다.
static compile을 위해서는 esql -static과 같이 하여야 합니다.
-- 홍종기 님이 쓰신 글:
>> unix 기반에서 cgi프로그램을 수정하고 있습니다.
>>
>> esql/c로 C로 만든 프로그램으로 test.ec 컴파일을 할려구합니다.
>>
>> 메뉴얼을 보고 esql -o test.cgi test.ec [yourlib.a]
>>
>> 이라고 나와있어서 그대로 쳤는데 라이브러리가 없다고 에러가 납니다.
>>
>> 제가 궁금한건
>>
>> 첫째. 자기만의 라이브러리를 어떻게 만드는지(컴파일하는방법).
>> 둘째. 라이브러리소스는 어떤형식으로 나타나는지가 궁금합니다.
>> 도움되는 사이트를 소개해 주시면 감사하겠습니다.
>>
>> 글을 읽어주셔서 감사합니다.
|