나 기계과 대학원생임.
컴터 시뮬 돌리는일 하는데, 대학원의 특성상 몇년동안만 있는 대학원생들이 자기 편한대로 코드 수정하고 그 다음사람한테 물려줌.
한 30년간 수십명의 손을 거친거라 코드 생긴게 좀 웃길때가 있음.
코딩 스탈이야 뭐 그렇다 쳐도 자기편한 언어로 짜 놓고 졸업하는 사람들은 좀 너무하다 싶을때가 있음.
물론 그때문에 몰랐던 언어 배우는것도 있집만 말야.
암튼, 오늘 이상한 문제가 생겼음.
결과 나온걸 분석하는 코드인데 이게 C로 된거임. 결과 데이터 파일이 1600x14의 어레이임.
그리고 분석은 처음 6 column을 가지고 한 다음에 결과가 좋은거 부터 나쁜거 까지 순위를 매기는거거덩.
근데 결과에 column 10, 11, 12에 있는 값을 뱉어 내더라고. column7-12는 읽기만 하고 써먹는데가 없어야 하는데 말이야.
그래서 버그가 있다고 생각하고 첫줄부터 하루종일 훓었음. (Linux에 vi로 띄워놓고 본거임.)
나오는 결과를 가지고 여기서 여기 사이에서 문제가 생겨야 한다는거 까지는 찾았는데 거기 잘못된게 아무리 봐도 없는거야. (학교에 C디버거 없음. 아니면 있는데 암도 안써서 모름.)
결국 못찾고 집에와서 visual studio로 다시 돌렸더니 이번엔 결과가 제대로 나옴.
학교에 있는 코드를 보면 컴파일을 nmake라는 명령어로 했던데 그래서 그런가?
컴터 시뮬 돌리는일 하는데, 대학원의 특성상 몇년동안만 있는 대학원생들이 자기 편한대로 코드 수정하고 그 다음사람한테 물려줌.
한 30년간 수십명의 손을 거친거라 코드 생긴게 좀 웃길때가 있음.
코딩 스탈이야 뭐 그렇다 쳐도 자기편한 언어로 짜 놓고 졸업하는 사람들은 좀 너무하다 싶을때가 있음.
물론 그때문에 몰랐던 언어 배우는것도 있집만 말야.
암튼, 오늘 이상한 문제가 생겼음.
결과 나온걸 분석하는 코드인데 이게 C로 된거임. 결과 데이터 파일이 1600x14의 어레이임.
그리고 분석은 처음 6 column을 가지고 한 다음에 결과가 좋은거 부터 나쁜거 까지 순위를 매기는거거덩.
근데 결과에 column 10, 11, 12에 있는 값을 뱉어 내더라고. column7-12는 읽기만 하고 써먹는데가 없어야 하는데 말이야.
그래서 버그가 있다고 생각하고 첫줄부터 하루종일 훓었음. (Linux에 vi로 띄워놓고 본거임.)
나오는 결과를 가지고 여기서 여기 사이에서 문제가 생겨야 한다는거 까지는 찾았는데 거기 잘못된게 아무리 봐도 없는거야. (학교에 C디버거 없음. 아니면 있는데 암도 안써서 모름.)
결국 못찾고 집에와서 visual studio로 다시 돌렸더니 이번엔 결과가 제대로 나옴.
학교에 있는 코드를 보면 컴파일을 nmake라는 명령어로 했던데 그래서 그런가?
몇가지 유형의 코드는 컴파일러마다 결과가 다르다능
argument라던지 increment 쪽 연산 순서 문제일 수도 있음
흠. 그렇군. 땡큐.
ABC에서 본거같은 내용인데 기억이 가물가물하네.. 나도 컴파일러에 따라 다른 부분이 있다고 확인함 아마도 자료형별 차지하는 크기 같은게 달랐던걸로 기억
int32_t같은 표준화된 자료형 쓰는걸 추천