Software Porting 이슈
S/W Porting 에 따른 이슈는 매우 많다. 그런데 구체적으로 어떠한 이슈들이 있는가? 궁금해서 인터넷을 찾아보고 일단 아래와 같은 사항들을 생각할 수 있었다.
1. Data type의 사이즈가 다를 수 있을 것이다. integer가 일반적으로는 4byte일 것이고 사실 많은 platform에서도 4byte일 듯 하다. 하지만 모든 data type이 다른 target platform에서도 같다고 보장할 수는 없을 것이다.
2. API Format 이 다를 수 있을 것이다. 대표적으로 windows환경에서 linux/unix환경으로 이동할 경우에 thread lock을 제어하기 위해서 제공되는 API(ex. pthread)도 다를 것이고 그 사용방법도 조금씩 다를 수 있을 것이다.
3. H/W Resource 환경이 다를 것이다. 메모리, CPU 등의 자원 할당량이 다를 것인데 이는 수행에 큰 영향을 미칠 수 있다.
4. System library를 모두 가져가지 못하는 상황이라면 System lib. 의 지원 여부 및 제공이 되더라도 interface가 맞는지 등의 이슈를 확인해야할 것이다.
5. Compiler/Preprocessor 가 다르다면 compile과정에서 기존에는 발생하지 않았던 error상황이 발생할 수 있을 것이다. 예를 들어 type casting 등의 이슈가 이전에는 warning 수준이었는데 target에서는 error로 reporting 될 수 있을 것이다. (물론 compile error level을 조정할 수도 있겠지만 여하튼 이슈 가능성이 있을 듯 하다.)
잠깐 찾아본 내용이어서 minor한 사항들만을 나열했을지도 모른다.