하나의 소스로 윈도우와 유닉스에서 동시에 컴파일 하기.
글쓴이: qprk / 작성시간: 금, 2006/05/12 - 10:55오전
유닉스와 윈도우에서 하나의 소스로 서로 컴파일이 되도록 코딩을 하고 있습니다.
어지간한건 os 별로 define 해서 사용하면 되겠는데 file 핸들이 많은지라..
file path 에서 많이 걸리내요.. *nix 에서는 / 가 사용되지만 윈도우에서는 \ 를 사용해야 합니다.
그리고 대부분 스트링이라 \\ 이렇게 표시해야 하는 불편함도 있구요..
일일이 그때마다 ifdef 를 사용하여 코딩을 하고 있습니다. 혹시 다른 좋은 방법이 있을까요?
다른 분들은 어떻게 이 문제를 해결 하시나요?
Forums:
허허
그건 '/' '\\' 문자들을 직접 사용하는 대신 상수나 함수를 사용하고 고놈을 ifdef으로 지정해주시면 되지요
May the F/OSS be with you..
----------------------------
May the F/OSS be with you..
만약 vc가 아니라 mingw처럼 gcc계열을 windows에서 사용한다면
make하기전 configure를 통해서 바꿔주도록 설정할 수 있을 겁니다.
------------------------------
How many legs does a dog have?
파일 경로의
파일 경로의 구분자만이 문제라면, / 로 될텐데요.
이제는(좀 된듯하지만..) 윈도우에서도 fopen("c:/windows/system.ini", "r); 이런 코드가 잘
되는 것으로 기억합니다.
확인을 다시 해보고 답을 해야 ... 좋은데, 윈도우가 없군요 ㅎㅎ.
확인해 보시고 제 기억을 되살려 주세요.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
source file은 하나도
source file은 하나도 건드리지 않거나, 중간단계 임시소스파일도 생성하지 않아야 하나요?
윗분 말씀처럼 대개 configure를 거치면서 separator를 os별로 지정해서, source code의 해당부분을 수정하는 perl류의 scripting을 통하거나,
preprocessing하지 않나 싶습니다만...^^;
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)
--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)
윈도우에서 '/' 로
윈도우에서 '/' 로 가능합니다.
즐겨쓰죠;;
윈도우에서 '/' 로
윈도우에서 '/' 로 가능합니다.
즐겨쓰죠;;
댓글 달기