본문 바로가기

Programming30

윈도우에서 MinGW + Eclipse를 이용해 C/C++ 개발하기 회사의 PC에 작은소프트 눈에뵈는 개발도구를 설치하였는데, 도대체 뭘 잘못설치한건지 툭하면 블루스크린이 뜬다. 지우고 다시 설치하여도 또 에러가 난다-_-; 회사PC라 함부로 포맷을 할 수도 없다. 그리하여 GVIM을 깔고, 각종 플러그 인을 달아 왠만한 IDE급으로 쓰려고 하였으나, 이런저런 한계를 많이 느껴서 결국 Eclipse를 사용해보기로 결심하였다. 어제 오후와 오늘 점심시간의 삽질끝에 완성한 결과물이다. ㅋㅋ 간지~! 1. MinGW를 설치한다.MinGW가 뭐하는 녀석이냐? 윈도우에서 GCC, MAKE등을 사용할 수 있게 해주는 녀석이다. 당연히 freeware이다. ㅋㅋ 검색엔진 아무 곳이나 mingw로 검색하면 쉽게 다운로드를 받을 수 있지만~ 나중에 이 포스트를 다시 보게 될 귀차니스트 .. 2008. 9. 1.
#pragma를 이용해 바이트 처리단위 변경하기 #include #define _PRAGMA_TEST_ // 이 줄을 주석처리 하느냐 안하느냐에 따라 결과값이 바뀐다. #ifdef _PRAGMA_TEST_ #pragmapack(push, 1) #endif typedef struct tagTest { char cChar; short sShort; int nTest; } TagTest; #ifdef _PRAGMA_TEST_ #pragma pack(pop) #endif int main() { printf("%d", sizeof(TagTest)); getchar(); return 0; } PRAGMA_TEST를 정의하면, 한마디로 pragma pack(push, 1)이 세팅되면, 바이트 처리단위가 1이 되어 구조체의 크기가 7이된다. 정의하지 않으면 32bi.. 2008. 8. 28.
C함정과 실수 C 함정과 실수 (버그없는 프로그램 만들기) 상세보기 앤드류 쾨니히 지음 | 피어슨에듀케이션코리아 펴냄 C 프로그래머들이 쉽게 빠지거나 저지를 수 있는 함정과 실수를 다양한 예제를 통해 보여주면서 버그를 사전에 막을 수 있는 방법을 제시한다. 또한 하나 차이로 인한 오류 피하기, 함수 선언의 이해 및 작성, 포인터와 배열의 미묘한 관계에 대해서도 다룬다. 오랫동안 쌓아온 저자의 C 프로그래밍 경험을 담은 이 책은 C 언어 초보자나 전문가가 반드시 알아야 할 필수 요소를 정확하게 보여주고 있다. 얇아서 좋다! ㅋ 그리고 내가 프로그래밍 생초짜(지금도 초짜수준이긴 하다-_-)일 때, 툭하면 했던 실수들, 그리고 내가 이해할 수 없었던 버그들 지금에서야 '음... 그래서 그런거였군' 하며 고개를 끄덕거리게 하.. 2008. 7. 15.
[펌]20가지 C++ 팁 [원문] http://decoder.tistory.com/547 http://www.devx.com/cplus/Article/16328 The Top 20 C++ Tips of All 대신 을 써라.기존 legacy코드를 다루거나 하지 않는다면 비표준 보다는 을 쓰는 것이 좋다. 두 구현은 차이가 있으므로 한 코드에 둘 모드를 쓸 수 없다. RValue에 레퍼런스 바인딩하기레퍼런스를 const 타입으로 한다면 rvalue에 레퍼런스를 결합하는 것을 허용한다. void f(const int &i); int main() { f(2); /* OK */ } f(2) 호출시 값으로 2를 가지는 int 타입의 임시 객체가 만들어지고, 이것이 i 레퍼런스에 결합됨. 그런데 f() 함수에서 i를 변경하면??? 그래서 .. 2008. 7. 15.