현재 UNIX 시스템 용으로 작성된 C ++ 코드를 수정하여 Visual Studio에서 컴파일하여 작동하도록 수정 중입니다. 내장 함수의 이름을 변경해야했고 동적 배열이 정의되는 방식을 변경해야했습니다.
내 질문은,이 코드를 UNIX에서 Windows / Visual Studio로 '포팅'하거나 하나의 프로그래밍 언어에서 다른 프로그래밍 언어로 변경할 때만 (포팅) 사용된다고 말할 수 있습니까 (C ++에서 Java로 포팅)?
현재 UNIX 시스템 용으로 작성된 C ++ 코드를 수정하여 Visual Studio에서 컴파일하여 작동하도록 수정 중입니다. 내장 함수의 이름을 변경해야했고 동적 배열이 정의되는 방식을 변경해야했습니다.
내 질문은,이 코드를 UNIX에서 Windows / Visual Studio로 '포팅'하거나 하나의 프로그래밍 언어에서 다른 프로그래밍 언어로 변경할 때만 (포팅) 사용된다고 말할 수 있습니까 (C ++에서 Java로 포팅)?
답변:
Wikipedia 와 내 개인적인 경험 에 따르면 "포팅"이라는 용어는 원래 의도하지 않은 플랫폼에서 소프트웨어를 작동시키는 것을 말합니다. 이 과정은 때때로 언어의 변화를 요구하지만 항상 그런 것은 아닙니다.
이 용어는 일반적으로 동일한 CPU 및 운영 체제에서 적은 메모리로 실행되도록 소프트웨어를 조정하는 프로세스에는 적용되지 않으며 다른 언어 (예 : 언어 변환 또는 번역)로 소스 코드를 다시 작성하는데도 적용되지 않습니다.
사람들이 Java 프로그램이 더 "이동 가능"하다고 말하면 다양한 다른 시스템 및 운영 체제와 호환되도록하기 위해 추가 작업이 덜 필요하다는 것을 의미합니다.
운영 체제간에 소프트웨어를 이식 할 수 있습니다. 프로세서 아키텍처간에 소프트웨어를 이식 할 수 있습니다. 주요 플랫폼 변경 (Apple의 PPC-> x86 스위치 또는 Windows XP-> Windows Vista / 7 / 8)을 처리 할 때 일반적으로 "포팅"과 관련된 일부 활동을 수행해야 할 수도 있습니다. 프로그래밍 언어를 "포팅"으로 전환하는 것을 고려하지 않습니다. 완전히 다시 쓰는 것과 같습니다.
Linux에서 Windows로 또는 그 반대로 소프트웨어를 이식했습니다. SPARC에서 x86으로 소프트웨어를 포팅했으며 (엔디안 문제를 다루는 것을 좋아합니다) 32 비트에서 64 비트로. 요즘 Java로 프로그래밍하고 있습니다 ... "porting"이라는 단어가 Javaland에서, 아마도 주요 JVM 버전 사이에서 많은 의미가 있는지 확실하지 않습니다 ....
퍼블리셔가 가능한 많은 플랫폼 (PC, Xbox, Playstation 등)을 다루기를 원함에 따라 포팅은 게임 개발에서 점점 더 대중화되고 있습니다. 언급 한 바와 같이 이식은 원래 프로그램을 완전히 다른 시스템에서 작동하도록 변환하는 것을 의미합니다. 일반적으로 게임 제작자는 콘솔 게임을 PC로 변환합니다.