2021. 2. 16. 11:45 devel/etc
윈도우에서 배치파일, makefile로 빌드 시스템 구축하기
윈도우에서 배치파일, makefile로 빌드 시스템 구축해볼까 하는 분들을 위해....
결론: 추천하지 않음
이유
1. 윈도우 batchfile 즉 cli에는 아주 기가 맥힌 버그가 종종 있다. 하나가 아니다 문제는 그런 것들이 꼭 급할 때 갑자기 뿅! 하고 튀어나온다. 유니코드 한글 문자열 처리 버그 환경 변수 버그 등등 검색해도 나오지 않는 잡 버그들이 좀 있다.
파워쉘은 안써봐서 모르겠다. 근데 사용자 수가 적은 파워쉘을 써서 개발하느니(심지어 기본 탑재가 아니라 설치하려면 권한도 받아야 한다!!) 걍 파이썬 같은 거 배워서 쓰겠다.
2. 윈도우용 makefile에 오묘한 버그가 있다.
linux용 makefile에는 없는 버그로 일부 문법 처리가 이상하게 된다
그리고 멀티코어 빌드가 잘 안된다 되는 놈도 있고 안 되는 놈도 있고 되긴 했는데 이상하게 되는 놈도 있고 각양각색이라 신뢰를 못하겠다
3. 윈도우용 gnu util(binutils)도 버그가 있다.
이건 태생적으로 어쩔 수가 없다. 리눅스에서 돌아가라고 만든 걸 윈도우에서 만들어 놨으니 가끔 오작동 하는건 양해해야지
4. 윈도우용 gnu util의 문법이 다르다!
linux에서 잘 되는 문법 그대로 윈도우에서 쓰면 다르게 동작할 때가 있다
awk 같은 애들...
5. 지럴 콜라보
234가 콜라보로 지럴얨병을 할 때가 있다
6. 배치파일은 확장성이 매우 구리다
함수 처리, 문자열 파싱하다보면(for 루프로 문자열 파싱을 해야한다 for루프로!!!!) 빌게이츠를 암살하고 싶어질 것이다.
근데 어쩔 수 없이 구축하려고 한다면 윈도우 batch file 쓰지 말고 파이썬 스크립트 같은 걸 추천한다.
꽤 방대한 량의 batch file 빌드 시스템을 약 2주 가량 파이썬으로 변환 작업 했는데 결과가 매우 만족스럽다.
파이썬 스크립트 쓰면 최소한 1, 3, 4, 5, 6의 문제는 해결되고 2번만 남으니 적당히 커버가 가능하다
'devel > etc' 카테고리의 다른 글
메인보드 구매할 때 블루투스 기능이 과연 필요할까? (0) | 2022.01.09 |
---|---|
텐키리스 키보드 사용 짧은 후기(개발자) (0) | 2022.01.09 |
파이썬 정규표현식 특정 문자 포함, 특정 문자 제외 (1) | 2021.02.09 |
ST의 STM32F4 시리즈와 ATMEL SAMV71 써본 후기 (1) | 2017.09.29 |
4차 산업 우리나라가 준비해야 할 많은 것들 (0) | 2017.04.03 |