새 운영 체제에서 추적을 지원하기 위해 TOMUI 클래스의 setInput 메소드를 수정해야 할 수도 있습니다. 스테퍼에 대한 입력 스트림을 작성할 때 setInput 메소드에서 새 ifstream을 작성하기 위한 호출에 ios::nocreate를 사용하는 경우 컴파일 오류가 발생할 수 있습니다. ios::nocreate는 C++ 표준의 일부가 아니므로, 일부 컴파일러(예: Green Hills)에서 지원되지 않습니다. 현재, tom\tomstep.cpp 파일에서의 setInput 구현에는 ios::nocreate를 사용하지 않고 ifstreams for UNIX 및 STL을 작성하기 위한 옵션이 있습니다. 구현은 다음과 같습니다.
ifdef unix // unix : Actually Solaris 2 cannot open for READ if // the ios::nocreate is placed here ifstream* file = new ifstream(filename); #else #ifdef OM_USE_STL ifstream* file = new ifstream(filename); #else ifstream* file = new ifstream(filename,ios::nocreate); #endif
또한 새 환경에서 ios::nocreate를 지원하지 않는 경우 다른 #ifdef 절을 추가해야 할 수도 있습니다. 예를 들어, Green Hills 컴파일러에 대한 마지막 #else 이전에 다음 코드 행을 추가하십시오.
#else #ifdef green ifstream* file = new ifstream(filename);