장인으로의 여정36 [Build System] CMake CMake Makefile은 개발하는 사람들이라면 들어봤을 것이다.Makefile을 보면 대개 복잡하고 읽기 쉽지 않다. 그래서 auto make나 기타 등등의 Makefile을 만들어 주는 툴을 만들어 사용한다. 이번에 소개할 것은 CMake라는 것이다. CMake는 환경에 맞는 빌드시스템이다. 새로운 빌드 시스템에 대한 요구사항1. 시스템에 설치된 C++컴파일러에만 의존한다.2. Visual Studio IDE 입력 파일을 생성할 수 있어야 한다.3. 정적 라이브러리, 공유 라이브러리, 실행 파일, 플러그인 등 기본 빌드 시스템 타깃을 생성하기 쉬워야 한다.4. 빌드 타임 코드 생성기를 사용할 수 있어야 한다.5. 소스 트리에 따라 다양한 빌드 트리를 지원해야 한다.6. 시스템 분석을 수행할 수 있어.. 2016. 3. 31. [linux] 파일링크 ln (Hard Link, Soft Link) inode 전산학에서 아이노드(inode)는 UFS와 같은 전통적인 유닉스 계통 파일 시스템에서 사용하는 자료구조이다 파일들은 각자 1개의 아이노드를 가지고 있으며, 아이노드는 소유자 그룹, 접근 모드(읽기, 쓰기, 실행 권한), 파일 형태, 아이노드 숫자(inode number, i-number, 아이넘버) 등 해당 파일에 관한 정보를 가지고 있다. 파일시스템 내의 파일들은 고유한 아이노드 숫자를 통해 식별 가능하다. [참고]https://ko.wikipedia.org/wiki/%EC%95%84%EC%9D%B4%EB%85%B8%EB%93%9C 모든 파일에는 inode가 있다.그렇다면 어떻게 확인할까? ls로 파일을 확인할 때 i옵션을 주면 된다. 하드링크(Hard Link) 파일을 복사하는 건 아니지만.. 2016. 3. 12. [linux] jdk 설치 Debian Build Machine에 jdk를 설치하려 한다. apt-get install openjdk-6-jdk 이런.. Debian 6 지원이 끝나서 apt-get을 더이상 할 수 없다. 그래서 jdk를 tar로 받아 설치했다. 오라클 사이트에서 설치할 OS 버전에 맞는 jdk를 받아온다. 주소링크는 아래와 같다.http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html linux x64를 받아왔다.파일명 : jdk-8u73-linux-x64.gz주의 : wget으로 받아오려 했으나 동의해야 받아올 수 있어서 그냥 wget으로는 되지 않는다.아래와 같이 하면 받아올 수 있다. wget --no-cookies.. 2016. 3. 12. [gdb] GNU 디버거 디버깅을 할 때에 가장 많이 쓰는 전술은 printf() 문을 추가하는 방법이다. 장점- 누구나 처음에 취할 수 있는 전술이다. 단점- 실행파일만 있고 소스가 없다면, 혹은 소스가 있지만 새로 컴파일 할 수 없다면 이 전술을 사용할 수 없다. - 시간이 오래 걸린다. gdb 명령gdb 실행 가능 파일 명령을 사용해 gdb로 응용 프로그램 디버깅을 시작한다. 먼저 gdb는 실행 파일 심볼을 로드한다. 그런 다음 프롬프트를 표시해 디버거를 사용할 수 있음을 알린다. gdb로 프로세스 보는 방법1. 실행중인 프로세스를 보러면 attach 명령을 사용한다. 이 명령은 프로세스를 중지한다.2. 프로그램을 시작하려면 run 명령을 사용한다.3. 이미 존재하는 코어 파일을 살펴, 프로세스가 충돌하거나 죽은 시점의 상.. 2016. 3. 9. 이전 1 ··· 5 6 7 8 9 다음 반응형