2012-08-15 2 views
4

C++, qt, MySql 코드가 포함 된 프로젝트를 포팅하기 시작했습니다.이 코드는 Linux 용으로 작성되었으며 Windows로 포팅합니다. 그래서 내 질문에, Linux에서 Windows로이 코드를 이식하는 동안 염두에 두어야 할 일반적인 포인트가 있습니까? 제발 도와주세요.Linux에서 Windows로 C++ 코드를 이식 할 때 염두에 두어야 할 점은 무엇입니까?

+0

많은, 경로, 리터럴, 매직 넘버 포함로 시작합니다. 나는이 책을 정말로 읽으려고 _C++ Gotchas_를 읽을 것이다. – MartyE

+0

Windows는 임의적으로 달라지기 위해 길을 나서지 만 예를 들어, 초기 소켓 지원은 산업 표준 (BSD)을 근사화하기위한 해킹 이었지만 제거하지 않기 위해 수정되었다. 그로부터 20 년 동안의 불일치. IP 서브 시스템을 초기화하기 위해 funtions를 호출해야하고, 파일 디스크립터에 대해 작동하는 것과 동일한 닫기 함수를 사용할 수있는 대신 소켓을 닫는 기능,'poll'의 차이점, 오류 코드를 얻는 다른 방법. 그러나 Windows 스레드보다 포팅 작업이 적습니다. 완전히 비표준입니다. –

+1

@TonyDelroy "완전히 표준이 아닙니다"... 누군가에게 다른 방향으로가는 것에 대해서도 마찬가지입니다. POSIX에서 쓰레드와 같은 것들이 표준화되었다는 것은 오래 전에 기억하지 못했습니다. 그리고 여전히 POSIX 플랫폼에도 POSIX 스레드, C++ 11 표준 라이브러리 스레드 및 C11 표준 라이브러리 스레드와 같은 몇 가지 "표준"이 있습니다. –

답변

1

나는 sililar 프로젝트에서 일하고 있는데, 필자가 지금까지 언급 한 것은 경로 이름이 유닉스에서 윈도우와 다르다는 것입니다. 헤더 파일은 둘 사이에서 정확히 같지 않습니다. 변수의 크기는 때로는 같습니다. 다른. 다음은 몇 가지 유용한 링크도 있습니다

http://www.willydev.net/descargas/prev/UNIX.pdf

http://suacommunity.com/dictionary/index.php

+0

안녕하세요, 고맙습니다. 그러한 링크는 공부할 가치가 있습니다. 다시 한 번 감사드립니다.) –

+0

대단히 환영합니다. 나는 현재 똑같은 일을하고 있으며 압도적 인 것으로 알고 있습니다! –

관련 문제