문제

Linux로 포트하려는 Windows C ++ 응용 프로그램을 구축했습니다. 이를 수행 해야하는 주된 이유는 IT 직원을위한 시스템 유지 보수의 용이성입니다. 이 응용 프로그램을 실행하는 하나의 Windows 머신 외에도 Linux 전용 작업입니다.

이 애플리케이션이 내장 된 이유는 Windows API (DLL 및 헤더)를 사용하여 외부 당사자에 속하는 서버에 연결하기 때문입니다. 이 연결은 내가 정말로 엉망이되고 싶지 않은 독점 프로토콜을 사용합니다 (그리고 계약 상 허용되지 않는다고 생각합니다).

이 DLL은 DLL의 (Windows Sockets) 특정 코드로 인해 Windows입니다. 그 외에도 고급 작업을 많이하지 않습니다. Linux에서 와인에서 앱을 실행하고 프로토콜을 스니핑 하고이 응용 프로그램을 Linux 시스템에서 실행할 수 있도록 DLL 직접 재 구현하는 방법이 있습니까?

이 아이디어는 이것에 영감을 받았습니다 QT 제작자에 대한 항목 따라서 게임을 할 수있는 솔루션은 더 시원합니다.

도움이 되었습니까?

해결책

가장 명백한 중간지면은 사용하는 것입니다 Winelib. 기본 DLL에 직접 연결할 수 있는지 모르겠지만 그렇지 않다면 아마도로드 할 수 있습니다. LoadLibrary().

그런 다음 응용 프로그램을 두 부분으로 나눌 수 있습니다 : DLL 만 호출하는 래퍼와 나머지 코드는 래퍼와 대화합니다. 별도의 프로세스로 둘 다 가질 수 있으므로 래퍼 만 Winelib로 컴파일해야합니다. 응용 프로그램의 나머지 부분은 원하는 프레임 워크를 사용할 수 있습니다.

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