1 컴파일러 설정 #
가장 중요한 사항이라고 할수 있는데 옮길려고 하는 Window 의 소스를 VC++로 컴파일 할때 워닝레벨을 4로 올리고 컴파일 한다.워닝 레벨 4를 사용할때의 이점
2 전처리코드 #
2.1 컴파일러 구분 #
컴파일러 | 구분 매크로 |
Microsoft Vusial C++ | _MSC_VER |
GNU gcc | __GNUG__ |
두가지 매크로 다 해당 컴파일러로 컴파일 할때 정의되어 있으며 컴파일러의 버젼값을 나타내고 있다.
#ifdef _MSC_VER
#include “../ECMMat10/NEWMAT.h”
#include “../ECMMat10/NEWMATAP.h”
#endif
#ifdef __GNUG__
#include “../newmatlib/newmat.h”
#include “../newmatlib/newmatap.h”
#endif
이런석으로 처리해 주거나
#ifndef XXXX
#define XXXX[…] // A
#endif
로 수정해 준다.
3 데이타 타입 #
3.1 64비트 정수형 #
컴파일러 | 데이타선언 | 출력포멧 | ||
VC | __int64, unsigned __int64 | %lld(signed) %llu(unsigned) %llx(hex) | ||
gcc | long long, unsigned long long | %I64d(signed) %I64u(unsigned) %I64x(hex) |
// DiffResKey 데이타타입(64q비트) 설정
#ifdef _MSC_VER
typedef unsigned __int64 DiffResKey;
#endif
#ifdef __GNUG__
typedef unsigned long long DiffResKey;
#endif