32 비트 .so 바이너리 전용 라이브러리가 있고이를 사용하는 64 비트 프로그램을 생성해야합니다. 랩핑하거나 변환하여 64 비트 프로그램과 함께 사용할 수 있습니까?32 비트 라이브러리를 64 비트 프로그램에 연결
15
A
답변
27
아니요 64 비트 프로그램에서 32 비트 코드로 직접 링크 할 수 없습니다.
가장 좋은 방법은 run on your 64bit platform (using ia32)이 될 수있는 32 비트 (독립 실행 형) 프로그램을 컴파일 한 다음 프로세스 간 통신 형식을 사용하여 64 비트 프로그램에서 통신하는 것입니다.
3
진지한 마법 없이는 가능하지 않지만 답을 좋아하지 않을 수도 있습니다. 32 비트 CPU를 에뮬레이트하거나 (농담이 아니다) 메인 프로세스를 다시 32 비트로 전환한다. 에뮬레이션은 느려질 수 있습니다.
This is a proof of concept 기술 중.
그런 다음 의 테이블을 각 메모리 액세스와 32 비트 라이브러리간에 유지하고 동기화 상태를 유지하십시오. 이론적 완성도를 얻는 것은 매우 어렵지만 실행 가능한 것은 매우 쉽지만 매우 지루해야합니다.
대부분의 경우 두 가지 프로세스와 IPC가 실제로 가장 쉽다고 믿습니다.
4
IPC를 사용하여 64 비트 코드에서 32 비트 플러그인을 실행하는 예는 오픈 소스 NSPluginWrapper을 참조하십시오.
관련 문제
- 1. 32 비트 64 비트 호환
- 2. 32 비트/64 비트 OS?
- 3. 32 비트 64 비트 참조 라이브러리
- 4. 32 비트 Qt 라이브러리를 가져와야합니다.
- 5. 32 비트 및 64 비트 CPU/OS
- 6. 32 비트 라이브러리를 다시 컴파일
- 7. 64 비트 Linux에서 DMD로 컴파일하거나 32 비트 오브젝트 파일과 연결
- 8. 32 비트 윈도우 아래의 64 비트 레지스터
- 9. 32 비트 및 64 비트 ASP.NET 배포
- 10. 64 비트 어셈블리의 32 비트 명령어들
- 11. 32 비트/64 비트 시스템에 관한 질문
- 12. Office의 32 비트 DLL 64 비트
- 13. 64 비트 Weblogic 서버의 32 비트 JDK
- 14. * .WAR (64 비트 x 32 비트) 생성
- 15. 64 비트 Solaris에서 32 비트 포인터로 컴파일
- 16. SharePoint 64 비트 또는 32 비트
- 17. 64 비트 Windows 2008의 32 비트 cluster.exe
- 18. 32 비트 Windows XP 64 비트 VM
- 19. 32 비트 dll에서 64 비트 dll로 변환
- 20. SHGetFolderPath() 32 비트 대 64 비트
- 21. 포트란 : 32 비트/64 비트 성능 이식성
- 22. 64 비트 대 32 비트 Windows 결정
- 23. 64 비트 OS/32 비트 프로세스
- 24. 64 비트 파이썬은 32 비트 Windows
- 25. 64 비트 컴퓨터에서 32 비트 DLL 사용
- 26. 32 비트 라이브러리를 64 비트 .NET 응용 프로그램 및 메모리 사용량에 연결
- 27. 32 비트 서버 및 32/64 비트 클라이언트가있는 서브 버전
- 28. 어느 mysql 32/64 비트
- 29. 32 대 64 비트 GC
- 30. 64 비트 응용 프로그램에서 32 비트 공유 라이브러리를로드 하시겠습니까?
나는 64 비트를 타깃으로하는 라이브러리 코드를 재 컴파일 할 것을 제안하려고했으나, 당신이 그 소스를 가지고 있지 않다는 인상을 받았다. 64 비트 코드가 32 비트를 넘을 수 있다면 ... 나는 의심 스럽다. 리눅스의 gcc? 그러나 다시이 '썽킹'은 Win95의 특징이었습니다 (기억하십니까?) 32 비트 코드는 16 비트 코드를 호출합니다 ... 32 비트 동적 라이브러리 (.so)를 참조하고 실행중인 64 비트 코드를 연결해 보았습니까? – t0mm13b
현대의 64 비트 운영 체제에는 "뚝뚝"이 없습니다. 이것은 작동하지 않습니다. –