한 코드를 계속 잡고 있으면 머리 회전도 느려지고 짜증도 나고 싫어진다.
이 때 해주는건 오래 안걸리는걸 잠깐 만드는 것.
유틸리티 정도가 딱이다. 하다보면 욕심이 많이 나는데 이건 알아서 자제해야 된다.
그래서 이번에 만든 것이 지넥스 컴파일러.
SDK안에 IDE환경이 제공되긴 하지만 솔직히 개발에 쓰고 있으면 난 짜증난다.
코드가 길수록 느려터지는 에디터. 빌드 시마다 무조건 Rebuild all. 제대로 집어내지 못하는 디버거.
컴파일이 콘솔프로그램으로 만들어져 있어서 따로 할 수 있을 것 같았다.
일단은 UltraEdit + Batch file 의 조합으로 나가보기로 했다.
그런데 문제는 컴파일러와 링커의 파라미터가 도큐먼트로 제공되지 않았다.
게시판에 공개된 내용이 있긴 하지만 ide에서 디버깅이 가능한 dgs파일을 생성해야 하기 때문에 메뉴얼이 필요한데 없다.
그래서 IDE를 컴파일 시켜둔 후 프로세스에서 컴파일러와 링커를 호출할 때 스냅샷을 찍어 파라미터들을 캡쳐해 냈다. (절대 어려운 것 아님)
그래서 파라미터들을 얻어내고 적용했다.
UltraEdit이 워낙 괴물같은 에디터라 별문제 없이 붙었다.
배치파일도 파라미터 값을 아는 이상 어려운 것이 없고...
그리고 이제 오브젝트 파일과 소스 파일의 마지막 모디파이 시간을 적용해서 자동으로 안된것만 컴파일 한 후 링킹해야 한다.
가물가물한 배치파일 명령어와 웹을 뒤져가면서 하다가 결론적으로 배치 파일의 기능 한계의 문제로 때려치고 유틸리티를 만들었다.
기능은 별거 없다.
1. gnx (IDE에서 사용하는 프로젝트 파일)을 읽어들여 소스 파일 리스트를 얻어낸다.
2. 빌드를 누르면 오브젝트 파일과 소스파일 시간을 비교하여 필요한 것만 컴파일
3. 링킹 완료 후에 IDE를 통하여 디버깅
단순한 만큼 어려운 것은 없었지만 콘솔 출력 내용을 가져오는걸 해보지 않아서 좀 애먹었다.
특히 올바른 검색 단어를 찾기까지 좀 짜증까지 나고...
다 만들고 적용하니 나름 뿌듯. 머리도 상쾌.
다만 삽질하느라 예상시간보다 4,5배 걸려버린 것이 문제점.
진행중인 프로젝트인 관계로 가린 것들이 좀 있음.
 |