Linux에서 C ++를 사용하는 DLL-S
-
02-07-2019 - |
문제
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
런타임시 파일 .dll
s, dlopen () 및 dlsym ()을 사용합니다.
이것은 많은 방금 시작한 경우 어느 시점에서 Ulrich Drepper의 "를 언급해야합니다.공유 된 리바리를 쓰는 방법.”
DLL 파일 대신. STACKOVERFLOW가 아닌 공유 객체를 의미하는. :)는 원하는 것입니다.
제휴하지 않습니다 StackOverflow