dynamic-library

    2

    1답변

    개인 프로젝트에서 Qt로 재미있는 일을 해왔습니다. 나는 이것에 대한 전문가가 아니기 때문에 바보 같은 질문이 있다면 (유용하지 않은 것으로 생각하지 않는다면) 나를 죽이려한다. 어쨌든 , 나는 OSX에있어 일반적으로 나는이 명령으로 쉘 스크립트를 사용하여 Qt는의 정적 버전에 대한 최종 버전을 컴파일 : 나는 다른 컴퓨터로 컴파일 된 바이너리를 이동하는

    0

    1답변

    내 프로그램이 라이브러리를 성공적으로로드했습니다 (dlopen (..., RTLD_GLOBAL | RTLD_NOW);). 라이브러리 안에는 malloc() 함수를 호출하는 함수가 하나 있습니다. 작은 메모리 (예 : 120 바이트)를 할당하려고하면 함수가 잘 작동합니다. 내가 이상 (예를 들어, 1024 바이트)를 얻으려고한다면, 내 응용 프로그램과 같은

    17

    3답변

    나는 최근에 GNU ld에서 링커 옵션 "-Bsymbolic-functions"을 발견했다 : -Bsymbolic When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normall

    1

    1답변

    동적 라이브러리 dynamic.so을 만들고 싶지만 내 코드가 다른 정적 라이브러리 static.a에있는 함수를 참조한다고 가정 해 봅시다. 물론 컴파일하고 g++과 -shared 옵션으로 연결하면 dynamic.so은 런타임에 dynamic.so과 함께 링크해야하는 다른 동적 라이브러리에서 참조 된 함수가 구현 될 것으로 기대합니다. 즉, 내가 -l st

    1

    2답변

    동적 연결 프로세스를 이해하려고합니다 ... 라이브러리 함수 (func이라고 부름)에 대한 호출이 plt 테이블을 통과합니다. 나는 심볼이 아직 재배치되지 않았을 때 함수 호출이 plt에서 push $offset처럼 나타나는 i1 다음 명령어를 가리키는 jmp *function_in_GOT과 같은 구조 (예 : i1)를 포함하는 테이블에서 통과하면 제어가

    10

    1답변

    소스가없는 바이너리 실행 파일로 리버스 엔지니어링을하고 있습니다. Windows에서 할 수있는 일은 DLL 파일과 마찬가지로 LoadLibrary로 실행 파일 (EXE)을로드하는 것입니다. 로드 된 파일을 재배치 할 수없는 경우 단순히 로더 코드를 다른 모듈의 "공간 확보"위치로 재배치 할 수 있습니다. 내가로드 된 바이너리를 가질 때, 나는 함수라고 부를

    2

    1답변

    우리는 C++로 작성된 Windows 애플리케이션을 가지고 있습니다.이 애플리케이션의 일부는 Mac OS X로 포팅하려고합니다. 우리의 목표는 비즈니스 로직을 일부 라이브러리로 랩핑하고 Cocoa 레이어를 빌드하는 것입니다 컨트롤러 및 GUI 상단. 우리는 아마도 동일한 라이브러리를 사용하는 몇 개의 작은 응용 프로그램을 가지고있을 것이고 그래서 우리의 첫

    1

    1답변

    Google Prof Tool을 사용하고 있고 앱을 -lprofiler와 연결하고 있지만이 프로그램을 실행할 때 공유 라이브러리를로드하는 중에 오류가 발생했습니다. libprofiler.so.0 : 공유를 열 수 없습니다. 객체 파일 : 해당 파일이나 디렉토리가 없습니다. 반대로, 해당 파일이나 디렉토리가 없습니다. -ltcmalloc과 연결하면 런타임시

    0

    1답변

    이것은 더 일반적인 호기심입니다. D.이 이의이 링크하는 올바른 방법입니다 가정하자 A, B와 C가 지금은 공유 라이브러리에 ABC를 사용하는 다른 라이브러리를 링크 할 : 은 아마 내가 정적 유형의 몇 가지 라이브러리가 그들 : 나는이에 이전 행을 변경하면 어떻게됩니까 LOCAL_STATIC_LIBRARIES := A B C : LOCAL_STATIC

    0

    1답변

    방금 ​​완료 한 시스템을 만들고, 나의 목표는 하나의 Monalithic .so 파일을 맨 끝에 붙이는 것입니다. 지금까지 나는 모든 분리 된 부분을 .a 파일들로 컴파일했다. 나는 이것을 사용하여 작업해야 할 .o 파일의 수를 줄였습니다. 내 생각에 지금까지는 .a 파일의 끝에 압축을 풀고 모든 .so 파일을 큰 .so 파일로 다시 작성합니다. 이게 사