본문 바로가기

분류 전체보기691

segmentation fault의 원인 segmentation fault는 잘못된 메모리 참조 때문에 발생한다. 즉, 건드리지 말아야 할 곳을 건드렸기 때문에 발생하는 에러이다. 주로 NULL 로 설정된 영역을 건드리거나, 할당받은 메모리 공간을 넘은 곳을 건드렸을 때 발생한다. 난해한 점은 디버그 모드로 프로그램을 실행시킬 경우, 건드리지 말아야 할 메모리를 건드렸을 때가 아니라, 할당받은 메모리를 해제할 때 에러가 발생한다는 점인데, 예를 들면 다음과 같다. int *p = new int[5]; p[5] = 11; // 여기서는 에러가 발생하지 않는다. delete p; // 여기서 에러 발생. gcc(나 g++)의 경우는 컴파일 할 때 option 을 지정해 주지 않으면 release mode로 컴파일이 되기 때문에 잘못된 메모리를 건드.. 2010. 9. 30.
경로 설정에 관하여 윈도우즈와 리눅스 모두 환경 변수 중 경로로 설정된 변수에 있는 경로에서 명령어를 찾아서 실행하게 된다. 이에 대하여 살펴 본다. 환경 변수란, 컴퓨터 운영 체제 차원에서 제공해 주는 어떤 값으로, 많은 프로그램들이 그와 같은 환경 변수를 사용하여 특정한 작업을 하게 된다. 임시 파일 경로나 include 경로, library 경로, OS 이름 등(이상 윈도우즈), host name, lang, logname, path, user 등등 (이상 리눅스, centos) 이 있다. 환경 변수를 보는 방법은 리눅스에서는 export 명령어, 윈도우즈에서는 탐색기의 [내 컴퓨터]에서 오른쪽 클릭, 속성 (여기까지의 단축키는 윈도우즈키 + Break), 고급, 환경 변수 에서 볼 수 있다. 값을 설정하는 방법은, .. 2010. 9. 30.
스크립트 언어, 좋더라 원본 작성일: 2006-09-30 11:08 주제: 스크립트 언어로 할 수 있는 일은, 정말 많아서, 내가 평소에 컴퓨터로 하는 여러 일을 효과적으로 할 수 있게 해준다. 이야기에 앞서, 내가 어떤 순으로 프로그램 언어를 배워 왔는지를 살짝 말하면 다음과 같다. 나는 중학교 때 GW-BASIC을 배웠다, 혼자(음... 사실, 모든 언어를 혼자 배웠다). 그래서 이런 저런 프로그램을 만들었다. 고등학교 때는 안 하다, 수능 끝나고 비주얼 베이직을 배웠다. 그 때는 그림을 갖고 퍼즐을 맞추는 것을 했었는데, 속도가 느려서 고민하고 있었는데, 누나(9살 나보다 위인 누나는 전산과였다)가 델파이란 언어(엄밀히 언어는 아니지만)를 알려 주어, 델파이를 갖고 프로그래밍을 하고 있었다. 그러다 회사에 들어가서 C++.. 2010. 9. 29.
엑셀(MS-Excel)의 단축키 MS-Office 계열의 제품들에서 지원되는 단축키는 2007 버전인가를 기점으로 대대적으로 바뀌었다. 기존에는 미리 정해진 단축키 조합이 특정 기능을 수행하였지만 현재는 Alt 키를 누르면 동적으로 단축키 조합이 만들어지는 형식이다. 이에 대한 설명은 뒤쪽에서 하고, 기존의 방식과 호환성을 이루면서 여전히 유효한 단축키 조합을 살펴 보자면 다음과 같다. (엑셀 역시 일반적으로 사용되는 단축키가 그대로 적용된다. 가령 무슨 작업을 했던지간에 '되돌리기'는 Ctrl + Z 이다) 우선 내용을 명확히 하고자 다음과 같이 용어를 정의한다. 쎌 (cell) : 엑셀에서 네모칸 1개를 의미한다. 열 (column) : 수직으로 배열된 쎌을 의미한다. 행 (row) : 수평으로 배열된 쎌을 의미한다. 시트 (she.. 2010. 9. 25.