본문 바로가기

컴퓨터219

연구용 코딩시 몇 가지 작성 요령 대략 5년이 넘는 연구생활 동안 이런저런 작업들을 프로그래밍으로 해결하면서 느꼈던 점을 간략히 말해 보고자 한다. 특히, 몇 가지 요령을 중점으로 얘기해 보고자 한다. 작업 환경 우선, 이야기에 앞서 내가 주로 작업한 환경에 대해 살펴 본다. 아무래도 작업자의 작업 방식은 결국 작업 환경에 의존할 수밖에 없기 때문에, 내가 이야기 할 몇 가지 점들은 특정 운영체제에서만 가능할 수도 있기 때문이다. 나는 연구용 프로그래밍은 거의 대부분 linux에서 gcc를 이용하여 수행한다. 작업을 위한 linux server를 별도로 돌리면서 어디서나 ssh 로 접속하여 작업을 할 수 있게 해 놓았고, 교내에서는 samba로 연결을 해 놓았다. ftp 는 아무래도 불편해서 돌리지 않고 있다. 또한, text edito.. 2011. 7. 5.
ar : object file 을 하나로 묶기 만약 a.o 와 b.o 의 두 object 파일을 하나로 묶고자 할 때는 ar 명령어를 사용할 수 있다. 사용법은 다음과 같다. ar rsv target_file file1 file2 [...] 만약 위와 같은 상황이라면, ar rsv ab.a a.o b.o 로 하면 a.o 와 b.o 가 ab.a 에 모두 들어가게 된다. 따라서 a.o 와 b.o 를 사용하여 link 를 할 때는 g++ -o test test.cpp ab.a 처럼 a.o 와 b.o 대신 ab.a 를 써주면 된다. 이 때 .o 대신 .a 를 접미사로 붙여주는 것은 이처럼 합해진 object 파일이라는 것을 알리기 위한 관례이다. ar 은 archive 의 약자. 왜 이런 경우가 필요하느냐 하면, 다른 사람이 작성해 놓은 파일들을 하나로 묶.. 2011. 6. 24.
cannot convert ... 아주 전형적인 오류 메세지이다. 실제 에러는 다음과 같다. qtest.cpp: In function ‘int main(int, const char**)’: qtest.cpp:23: error: cannot convert ‘std::map**’ to ‘std::map*’ for argument ‘2’ to ‘bool get_qvalue_with_pvalue(std::vector, std::map*, std::map*, double*)’ STL 을 사용했기 때문에 에러 메세지가 아주 복잡한데, 실제 의미는 다음과 같이 구분하여 알아 볼 수 있다. qtest.cpp: In function ‘int main(int, const char**)’: qtest.cpp:23: error: cannot convert ‘.. 2011. 6. 23.
운영체제 사용시 느낀 점 이랄까... 전반적으로 윈도우즈가 이래저래 익숙해서 그런지 다소 편하긴 함. 즉, 주로 사용하는 프로그램들이 윈도우즈 용이 일단 좋음. 다른 건 몰라도 엑셀과 포토샵은 확실히 예술. 비지오도 그렇고. 그런데, 이것저것 자질구레하게 작업해야 할 때는 역시 리눅스가 진리. 우분투가 개인 사용자용으로는 괜찮은 듯. 맥은, 글쎄, 쓰다 보면 은근히 사용자 배려가 많은 것을 알겠음. 역시나, 이런 건, 누가 아무리 좋다좋다, 해도 공감을 못 하지만 직접 사용하면서 은근하게 그 쓰임새를 경험하고 나서야 왜 사람들이 좋다고 하는지 알게 되는 것 같다. 윈도우즈는 일단 익숙하면서도 문제가 생겼을 때 다소 간단하게 해결할 수 있다는 장점이 있다. 그리고, 다른 사람들과 파일을 주고 받을 때는 결국 MS-Office 계열.. 2011. 6. 5.