본문 바로가기

반응형

Programming/C & C++

C 에서의 printf와 C++의 cout의 차이점? 가장 큰 차이라면 cout은 출력하려는 값의 형(type)을 컴파일러가 검사할 수 있는 반면에 printf()는 그렇지 못하다는 것입니다. 따라서 버그가 발생할 확률이 높습니다. 예를 들어 /* C program */#include〈stdio.h〉int main(){ printf("%f\n", 1);} 위의 프로그램을 컴파일하면 아무런 에러가 나오지 않지만 실행 결과는 예상과 다를 것입니다. 이는 double 형을 출력하는 서식인 %f 와 실제로 출력하려는 int 값 1이 서로 일치하지 못하기 때문입니다. 그러나 컴파일러는 이를 잡아내지 못합니다. 그리고 서식 문자열(%f, %d, %s 등)을 일일이 외워야 한다는 점도 번거롭습니다. // C++ program#include〈iostream〉int mai.. 더보기
GDB 사용하기 이 글은 어딘가에서 가져왔었던 글인데 출처가 명확히 기억나지 않는다. GDB 사용하기1. GDBGDB같은 디버거의 목적은 다른 프로그램 수행 중에 그 프로그램 ‘내부에서’ 무슨 일이 일어나고 있는지 보여주거나 프로그램이 잘못 실행되었을 때 무슨 일이 일어나고 있는지 보여주는 것이다. GDB는C, C++, Modula-2로 짠 프로그램을 디버그 할 수 있다.쉘에서 gdb로 GDB를 시작하면 quit로 종료명령을 주기전까지는 터미널로부터 명령라인을 읽어 들인다. help명령을 사용하여 gdb내부에서 도움말을 볼 수 있다.디버깅을 하기 위해서는 –g옵션을 주고 컴파일/링크 해야 한다. 만약 링크가 libg.a를 찾을 수 없다고 하면서 실패하게 되면, /usr/lib/ligb.a를 갖고 있지 않기 때문이다. 그.. 더보기
GDB manual 이름gdb - GNU 디버거 개요gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog][-c core] [-x cmds] [-d dir] [prog[core|procID]] 설명GDB같은 디버거의 목적은 다른 프로그램 수행중에 그 프로그램 ``내부에서'' 무슨 일이 일어나고 있는지 보여주거나프로그램이 고장났을 때 무슨 일이 일어나고 있는지 보여주는 것이다. GDB는C, C++, Modula-2로 짠 프로그램을 디버그 할 수 있다.버그를 잡는 걸 돕기위해 GDB는 네가지 종류의 일(더 많은 일을 할 수 있다)을 할 수 있다: 프로그램의 행동에 영향을 줄 수 있는 각종 조건을 설정한 .. 더보기
컴파일러 선택하기 2006/03/02 11:28에 이글루스 블로그에 작성했던 글이다. ISO와 ANSI에 의해 채택된 현재의 C++ 표준은 1997년에 처음 완성되었다. 아직 모든 컴파일러가 이를 완벽하게 따르지 못하고 있으며, 모든 특징들이 다 지원되지도 않는다. - 표준에 맞는 컴파일러를 사용하는 것은 매우 중요하다. MS Windows 2000/NT/95/98/ME/XP를 위한 컴파일러GNU BloodShed ---- http://www.bloodshed.net/devcpp.htmlBorland C++ compiler ---- http://www.borland.com/bcppbuilder/freecompilerMicrosoft Visual C++ compiler ---- http://msdn.microsoft.com.. 더보기

반응형