[Linux System] gdb
·
Linux System
GDB(GNU Debugger)는 GNU 프로젝트에서 개발한 디버거로, 주로 C, C++, Ada, Fortran 등의 프로그래밍 언어로 작성된 프로그램을 디버깅하는 데 사용된다. GDB는 프로그램이 올바르게 실행되지 않거나 오류가 발생했을 때, 코드를 분석하고 문제점을 파악하는 데 유용하다. 실습#include #include int main () { int i; double j; char *bug = NULL; for (i=0; i
[Linux System] make
·
Linux System
make는 리눅스 및 유닉스 계열 시스템에서 사용하는 빌드 자동화 도구로, 소스 코드 파일을 컴파일하고 최종 실행 파일을 생성하는 작업을 자동화한다. 프로젝트가 커질수록 관리해야 할 소스 파일과 의존성이 많아지기 때문에, make는 이러한 빌드 과정을 효율적으로 처리하는 데 사용된다. make의 기본 원리make는 Makefile이라는 규칙 파일을 기반으로 동작한다. 이 파일에는 어떤 파일을 어떤 방식으로 컴파일하고 링크할지에 대한 규칙이 정의되어 있다. make는 Makefile을 읽고 변경된 파일만 선택적으로 빌드함으로써 전체 빌드 시간을 줄인다. make의 주요 기능 빌드 자동화:변경된 파일만 선택적으로 다시 빌드하여 전체 빌드 효율을 향상시킨다.의존성 관리:소스 파일 간의 의존 관계를 정의하고, ..
[Linux System] ar - 아카이브 유틸리티
·
Linux System
ar: 'u' modifier ignored since 'D' is the default (see 'U'):ar 명령에서 u 플래그는 아카이브에 있는 파일보다 수정된 파일만 업데이트하라는 의미. 하지만, 기본적으로 ar은 D(deterministic mode) 모드로 작동.D 모드에서는 파일의 수정 시간 정보를 사용하지 않으므로, u 플래그가 의미가 없어 무시된다는 메시지. 즉, u 플래그를 지정하더라도 아무 효과가 없다는 뜻.기본적으로 이미 최신 파일만 업데이트하는 비결정적(non-deterministic) 모드(U 모드)가 아닌, 결정적 모드가 기본 설정.ar: creating libmine.a:이 메시지는 ar 명령어가 실행되면서 libmine.a라는 아카이브 파일을 새로 생성했다는 의미.즉, 이전..