문제

Google을 사용하여 Linux에서 DLL-S를 만드는 방법을 찾으려고 노력했지만 매우 혼란스러운 정보를 얻었습니다.

Linux에 동적 링크 라이브러리를 작성할 수 있습니까? 그렇지 않은 경우 여러 실행 프로그램의 다른 모듈에서 코드를 호출 할 수있는 다른 방법이 있습니까?

도움이 되었습니까?

해결책

DLL이 Windows 용어이기 때문입니다. Linux에서는 공유 라이브러리라고합니다.

http://www.linux.org/docs/ldp/howto/program-library-howto/shared-libraries.html

다른 팁

처럼 Sklivvz Linux에서 당신이 이어진 용어는 공유 객체라고 말합니다. 이들은 파일 확장자가 제공됩니다 .so.

GCC를 사용하면 a를 만들 수 있습니다 .so 사용함으로써 -shared 옵션.

예를 들어.


gcc -shared -o libfoo.so foo.c

공유 객체 lib*의 이름을 사용하면 -l 링커의 옵션. 이 상황에서 "lib"는 추론됩니다.

즉.


ld -o a.out -lfoo someobject.o 

또는로드 할 수 있습니다 .so 런타임시 파일 .dlls, dlopen () 및 dlsym ()을 사용합니다.

이것은 많은 방금 시작한 경우 어느 시점에서 Ulrich Drepper의 "를 언급해야합니다.공유 된 리바리를 쓰는 방법.”

DLL 파일 대신. STACKOVERFLOW가 아닌 공유 객체를 의미하는. :)는 원하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top