dlopen

    1

    2답변

    몇 년 전, Google은 자체 파일에 앉아있는 대신 공유 파일을 다른 파일 (예 : mmap'd)에 저장하는 패치를 가지고 있다고 들었습니다. 그 토지가 있었나요? 이 객체를로드하기위한 API는 무엇입니까?

    3

    2답변

    저는 C로 동적로드를 시도하고 있습니다. 문제가 생겼습니다. 나는 런타임에 객체를로드하는 작은 프로그램을 가지고있다. 객체에는 stdin에 일부 메시지를 쓰는 단일 함수가 있습니다. 이것은 clang으로 OS X 10.10에서 컴파일되었습니다. 메이크 여기 /* module.c */ #include <stdio.h> #include <unistd.h>

    0

    1답변

    현재 im은 모듈 식 프로그램에서 dlopen을 사용하고 있으며 뭔가 잘못되었다고 생각합니다.하지만 그럴 수는 없습니다. requirementData는 VoidData라는 클래스의 벡터입니다. 간단히 void *를 처리하는 클래스입니다. getCopyOfData()는 void *에 저장된 데이터를 복사하기 위해 memcpy를 사용합니다. 여기까지는 괜찮 으

    0

    1답변

    내가 그 다른 .so를 libary 내 프로그램을 사용하여 만든 .so는 라이브러리를한다면 dlopen 프로그램이 (즉, 런타임에 dlopen에 의해 libctp.so 사용) libctp.so (내가 만든 것을) thostmduserapi.so (다른 사람에 의해 만들어진, libctp.so 그것을 사용) 하지만를 실행하면이 오류 보여줍니다 을 어떤 tho

    3

    2답변

    C++ Linux 프로그램에 플러그인을로드하는 가장 좋은 방법은 무엇입니까? 우리는 플러그인 (libsyntax.so)이있는 프로그램 (편집기)이 있다고 가정 해보십시오. 편집기의 설정 파일에는 libsyntax.so 라이브러리 (plugin1 =/opt/editor/gizmos/libsyntax.so)에 대한 경로가 들어 있습니다. 편집기가 설정을 읽으면

    0

    1답변

    모든 것이 제목에 있습니다. 맨 페이지는 아무 말도하지 않습니다. 어떤 구글은 dlopen 후에 어떤 사람들이 errno를 체크하고 있다고보고하지만, 단지 몇개 그리고 다양한 결과를 가지고있다. 이 함수는 성공/실패 값을 반환하지만 실패의 원인을 어떻게 파악해야합니까? 그래서 dlopen()은 errno를 설정합니까? 다른 errno 값은 어디에 정의 되었

    2

    2답변

    나는 (저자/소유자가 아닌) 다른 공유 라이브러리를 'dlopens'하는 공유 라이브러리를 작성합니다. 내 공유 라이브러리는 실행 파일에 의해 'dlopened'됩니다 (그 중 저자/소유자가 아닙니다.) 계층 구조는 다음과 같습니다. exe dlopen 's 내 라이브러리, 내 라이브러리 dlopen은 다른 라이브러리입니다. 내 라이브러리 dlopens가

    0

    1답변

    내 코드에 kIOSurfaceWidth을 사용하여 스크린 샷을 캡처해야하지만 Apple은 iOS 9.3에서 PrivateFrameworks을 제거하여 런타임시 동적으로 IOSurface.frameworks을로드해야합니다. 아래 코드를 사용하지만 dlsym 이후 null이 아닌 값을 반환합니다. 그러나 NSLog 값을 시도하면 kIOSurfaceWidth 값

    3

    1답변

    dlopen() 공유 객체가있을 때 명시 적으로 호출하지 않고 DLL을 실행하는 코드가있는 메커니즘이 있습니까? 특히, 호출자가 dlopen() 인 globals/statics에 대한 C++ 정적 초기화 코드는 알 수 없습니까? 나는 대답이 "예"여야한다고 확신하지만, 어떤 메커니즘이 일어 났는지, 그리고 임의의 코드를 실행하기 위해 그것을 활용하는 방법을

    2

    1답변

    동일한 주소 공간에 공유 라이브러리의 복사본을 여러 개로드 할 수 있기를 원합니다. 나는 그들에게 어떤 전역 변수도 공유하지 않기를 바란다. 그리고 나는 두 복사본이 서로가로드되었음을 알지 못하게하고 싶다. 유스 케이스는 스레드가 안전하지 않은 라이브러리의 병렬 실행입니다. 어떻게 리눅스에서이 을 할 수 있습니까? OS X? Windows에서 ? * BSD