Linux 실행 파일은 모든(x86_64) Linux 시스템과 호환됩니까? [폐쇄]

Linux 실행 파일은 모든(x86_64) Linux 시스템과 호환됩니까? [폐쇄]

내가 본 Windows 데스크톱 독점 소프트웨어는 일반적으로 정적으로 컴파일된 바이너리(일부 dll 및 Program Files 폴더에 압축이 풀린 패키지에 번들로 포함된 필수 데이터 파일 포함)로 배포됩니다. 이는 Windows 응용 프로그램 개발자가 사용자가 모두 Intel 또는 AMD x86_64 CPU와 Windows XP 이상의 운영 체제가 설치된 컴퓨터를 갖고 있어 불만 없이 Visual을 실행할 수 있다는 것을 알고 있기 때문에 가능합니다.

그렇다면 유닉스 세계에서도 비슷한 것을 기대할 수 있을까요? 나는 종종 프로그램 배포에 대한 "직접 컴파일" 접근 방식이 단순한 목적으로는 불편하다는 것을 발견했습니다. 친구에게 Linux 컴퓨터에서 내 프로그램을 테스트해 달라고 부탁한다고 가정해 보겠습니다. Linux 시스템이 있는지 여부를 제외하고 모든(아마도 10개 이상) 종속성을 설치하도록 요구하고 싶지 않습니다. 좋은 패키지 관리자가 있는 배포판은 작업을 매우 쉽게 수행할 수 있지만 모든 Linux 버전에 좋은 패키지 관리자가 있는 것은 아닙니다. 또한 "make install"을 수동으로 실행할 때 제거가 거의 불가능한 경우가 많습니다.

일반적으로 Linux에서 소프트웨어 바이너리를 배포하고 최소한 x86_64 CPU와 Linux 운영 체제가 있는 시스템에서 제대로 실행되기를 기대하는 것이 가능합니까? 예를 들어 zip 폴더로 배포되는 경우 사용자는 간단히 압축을 풀고 "start"를 두 번 클릭하거나 "./start"를 입력하면 됩니다.

답변1

예,만약에지정된 정확한 컴파일러 및 라이브러리 버전으로 빌드합니다.리눅스 표준 라이브러리. 거의 아무도 이 작업을 수행하지 않습니다. 왜냐하면 몇 년 전의 라이브러리로 자신을 제한하고 심지어 소수의 기본 시스템 라이브러리만 얻고 여전히 많은 종속성을 번들로 묶어야 하기 때문입니다.

관련 정보