실제로 어디에서 시작해야 할지, 더 많은 검색을 위해 어떤 키워드를 사용해야 할지 모르겠습니다. 하지만 Linux와 Windows에서 실행되는 C++ 프로그램을 간단하게 작성할 수 있을까요? 제 생각에는 바이너리 파일에 대해 이야기하고 있는 것 같습니다. 프로그래밍 스타일이 바뀌나요? 아니면 다르게 컴파일하면 되나요? Windows 컴퓨터에서 Visual Studio를 열고 "안녕하세요. C++에서 저를 실행하세요."라는 문자열을 표시하는 간단한 애플리케이션을 만들기 시작합니다. 두 컴퓨터 모두에서 실행할 수 있나요? 제가 꼭 알아야 할 것이 있나요?
답변1
나는 wxwidgets를 많이 사용하는데, 이는 컴파일 타임에 windows/gtk에 대한 참조를 대체하는 레이어를 사용하는 코드에 배치합니다.
코딩 방식이 바뀌기 때문에 gtk 클래스나 windows.h 클래스를 직접 사용하는 대신 wxwidgets 클래스를 사용하게 되며, 이는 컴파일 타임에 적절한 클래스로 대체됩니다.
최종 결과는 네이티브 클래스와 GUI를 사용하는 100% 네이티브 애플리케이션이기 때문에 "실제 느낌"을 얻습니다.
다른 옵션으로는 mono, qt, java 등이 있습니다. 이들은 모두 호스트 운영 체제의 추가 계층으로 이동하여 표준화를 목표로 합니다. 기본적으로 어떤 환경에서도 실행될 수 있는 플랫폼이 있으며 이 플랫폼에서 애플리케이션을 실행할 수 있습니다.
wxwidgest 및 코딩 스타일로 돌아가면 wxwidget에 래퍼 클래스가 없는 몇 가지 사항이 있음을 알 수 있습니다. 예를 들어 직렬 com 포트인 linux/windows는 이를 매우 다르게 처리합니다. 이렇게 하려면 이중 코드(Windows 코드와 Linux 코드 정의)를 작성해야 합니다.