저의 전문성이 부족한 점을 양해해 주시기 바랍니다. 하지만 오픈 소스 Windows 프로그램의 소스 코드를 컴파일하고 Linux(Wine 없이)에서 실행 파일을 사용할 수 있는지 알고 싶습니다. 내가 아는 한 그건 그렇다.개미 이름 바꾸기, 현재 Wine과 함께 사용하고 있습니다(일부 고급 기능이나 GUI가 부족한 Linux 대안이 마음에 들지 않습니다).
답변1
가장 간단한 대답은 '아니요'입니다. 더 긴 대답은 일반적으로 '아니요'입니다. 그것은 무엇에 달려있다도서관이 프로그램은 .
프로그램이 작성된 언어에 따라 컴파일러나 인터프리터와 함께 제공되는 표준 라이브러리에 더 많거나 더 적은 기능이 포함될 수 있습니다.씨는 매우 특이한 플랫폼에만 C 컴파일러가 없다는 점에서 유비쿼터스 언어이며 매우 작은 표준 라이브러리를 가지고 있습니다. 예를 들어 파일 I/O 개념은 있지만 디렉터리는 없으며 사용자 인터페이스는 표준 입력, 표준 출력 및 표준 오류로 제한됩니다. 다른 모든 작업에는 운영 체제에 대한 가정이 필요하거나 타사 라이브러리를 사용해야 합니다. 일부 언어는 표준 라이브러리에서 C가 수행할 수 있는 작업을 고수하기로 선택합니다.그들의표준 라이브러리는 C가 실행되는 모든 곳에서 실행될 수 있습니다.
다른 프로그래밍 언어는 표준 라이브러리에서 더 많은 기능을 제공하며 적어도 Unix와 Windows 간에 이식 가능한 사실상 표준 타사 라이브러리를 가질 수 있습니다. 이식 가능하다는 것은 동일한 라이브러리 코드가 둘 다에서 실행된다는 것을 의미하는 것이 아니라 Windows 구현과 Unix 구현이 있고 라이브러리를 사용하는 프로그램이 어느 것이 사용되고 있는지 신경 쓸 필요가 없다는 것을 의미합니다. 예를 들어,파이썬~의표준 라이브러리파일 및 디렉토리 관리를 위한 인터페이스가 있으며 일부 기본 GUI 라이브러리가 함께 제공됩니다(그렇게 화려하거나 복잡하지는 않음).할 수 있는완벽하지만 이식성이 뛰어나고 비교적 사용이 간편합니다.좀 더 발전된 휴대용 타사 라이브러리.
Unix와 Windows 모두 다른 시스템에서는 사용할 수 없거나 매우 다르게 작동하는 많은 기능을 가지고 있습니다. 그래픽 사용자 인터페이스는 매우 다르게 작동합니다. 일부 Unix 라이브러리는 Windows로 이식되었지만 Windows 인터페이스는 아직 Unix로 이식되지 않았습니다. Windows GUI 코드는 운영 체제에 더욱 통합되어 있으며(Unix의 GUI는 처음부터 다른 계층에서 설계됨) 독점 코드(Unix 세계의 라이브러리는 대부분 오픈 소스임)이므로 이식하기가 매우 어렵습니다. Unix: 기본적으로 가상 머신에서 Windows를 실행해야 합니다. Wine은 Windows 라이브러리의 독립적 구현을 제공하려고 시도하지만 이는 매우 어려운 작업입니다.
Ant Renamer는 Pascal 방언으로 작성되었으며 도구는 Windows용으로 개발되었습니다.델파이. 하나 있다리눅스 포트어느 시점에서는 성공했지만 얼마나 성공적인지 모르겠습니다. 특히 GUI 라이브러리는 Windows 인터페이스에서 일부 Unix 인터페이스로 다시 작성되어야 했습니다. 실용적인 대답은 Ant Renamer가 Linux에서 실행될 수 있다면 상당한 노력이 필요할 것이라는 것입니다. 아마도 동작에 대한 정확한 설명과 함께 처음부터 작성하는 것보다 더 많은 노력이 필요할 것입니다.
검색에서 이것을 발견했지만 다른 문제가 있는 사람은 Unix 시스템을 사용하여 Windows 프로그램의 소스 코드를 컴파일하여 Windows 시스템에서 실행할 수 있습니다.크로스 컴파일러예를 들어민지.