gcc(3)
-
[리눅스 프로그래밍 시리즈 10편] gdb 디버깅 입문: 리눅스에서 프로그램 오류를 찾는 가장 강력한 방법
목표: gdb를 사용해 프로그램 내부 상태를 확인하고 버그를 찾을 수 있다 결과: 실행 중인 프로그램을 멈추고 변수, 스택, 흐름을 분석할 수 있다1. 왜 gdb를 배워야 할까?프로그램을 만들다 보면 반드시 이런 상황을 만나게 된다.프로그램이 갑자기 종료된다segmentation fault 발생값이 이상하게 나온다어디서 문제가 발생하는지 알 수 없다printf로 디버깅할 수도 있지만 한계가 있다.이때 사용하는 도구가 gdb (GNU Debugger) 이다. gdb는 실행 중인 프로그램을 멈추고 내부 상태를 확인할 수 있는 도구다.2. gdb 사용을 위한 컴파일 옵션디버깅을 위해서는 프로그램을 다음 옵션으로 컴파일해야 한다.gcc -g hello.c -o hello-g 옵션은 디버깅 정보를 포함한다.이 옵..
2026.03.09 -
[리눅스 프로그래밍 시리즈 8편] gcc 컴파일 구조 완전 이해: C 프로그램이 실행 파일이 되는 과정
목표: 리눅스에서 C 프로그램이 어떻게 컴파일되는지 이해한다 결과: gcc 컴파일 과정과 기본 빌드 구조를 이해한다1. 왜 gcc 컴파일 구조를 알아야 할까?리눅스에서 개발을 시작하면 가장 먼저 만나게 되는 도구가 gcc다.많은 초보자는 단순히 이렇게만 사용한다.gcc hello.c -o hello하지만 실제로는 이 한 줄 안에서 여러 단계가 수행된다.1) 전처리 (Preprocessing)2) 컴파일 (Compilation)3) 어셈블리 (Assembly)4) 링크 (Linking)이 구조를 이해하면컴파일 오류 분석라이브러리 문제 해결빌드 시스템 이해가 훨씬 쉬워진다.2. 예제 프로그램 준비먼저 간단한 C 프로그램을 만든다.nano hello.c내용 작성:#include int main() { p..
2026.03.05 -
[리눅스 프로그래밍 시리즈 2편] 리눅스 실습 환경 만들기 완벽 가이드 (WSL2 설치부터 개발 세팅까지)
대상: Windows 사용자 기준 목표: 리눅스 프로그래밍을 위한 안정적인 실습 환경을 구축한다 결과: C 컴파일 및 개발 준비 완료 상태1. 왜 실습 환경이 중요한가?리눅스 공부에서 가장 많이 망하는 지점이 바로 여기다.환경이 불안정하다설치가 꼬인다패키지가 충돌한다뭔가 안 되는데 이유를 모른다이러면 학습 집중력이 무너진다.따라서 이번 편에서는 가장 현실적이고 안정적인 개발 환경 구성 방법을 다룬다.2. 리눅스를 설치하는 방법 3가지 비교① WSL2 (가장 추천 )Windows 안에서 리눅스를 실행하는 방식장점가볍고 빠름설치 간단VSCode 연동 쉬움Windows 파일 접근 가능단점완전한 커널 제어는 제한적네트워크 실습 일부 제약 대부분의 개발 학습에는 충분하며 가장 추천② 가상머신 (VirtualBox..
2026.02.26