C언어

c언어/시스템 프로그래밍

시스템프로그래밍 - 4일차

시스템프로그래밍 - 4일차 강의 링크 Duplicating FD - dup(2) / dup2(2) 복사하는 시스템 콜 $ man -s 2 dup #include int dup(int oldfd); int dup2(int oldfd, int newfd); oldfd (old file descriptor) 복사하려는 file descriptornewfd (old file descriptor) newfd (old file descriptor) 새로운 fd 지정 dup()의 경우 할당 가능한 fd 중 가장 작은 값 할당 Return: oldfd를 복사한 새로운 fd -1: error 예제 #include #include #include #include int main(void) { int fd, fd1; fd ..

c언어/시스템 프로그래밍

시스템 프로그래밍 3일차

시스템 프로그래밍 3일차 유튜브 강의 참고 File read & write read $ man -s 2 read #include ssize_t read(int fd, void *buf, size_t count); fd (file descriptor) 읽으려는 파일의 file descriptor buf (buffer) 읽은 내용을 저장할 buffer의 시작 주소 count 읽을 byte 수 Return 0: 파일의 끝(EOF)에 도달, -1: 에러 write $ man -s 2 write #include # const 수정이 불가 ssize_t write(int fd, const void *buf, size_t count); fd (file descriptor) 기록하려는 파일의 descriptor buf..

c언어/시스템 프로그래밍

시스템 프로그래밍 2일차

시스템 프로그래밍 2일차 유튜브 강의 참고 Makefile & Make (리눅스 컴파일 환경) GNU C compiler 대부분의 유닉스/리눅스에서 기본 컴파일러로 사용중 명령어: gcc $ gcc [options] filename - Options - -c: object file(.o)만 생성 - -o: execution file name 지정 (default: a.out) $ gcc test.c $ ls a.out test.c $ gcc -o test test.c $ ls test test.c # 오브젝트 파일은 실행 파일이 아니기 때문에 실행 안됨 $ gcc -c -o test.o test.c $ ls test.o test.c Makefile & Make Makefile Compile 방법을 기술 ..

c언어/시스템 프로그래밍

시스템 프로그래밍 1일차

시스템 프로그래밍 1일차 유튜브 강의 참고 시스템 프로그래밍 개요 시스템 소프트웨어 프로그래밍 하는 것 유닉스/리눅스에서 제공하는 시스템 콜을 이용해서 프로그램을 작성 하는 것이다. 시스템 콜은 유닉스/리눅스 시스템이 제공하는 서비스를 프로그램에서 이용할 수 있도록 지원하는 프로그래밍 인터페이스를 의미한다. System 하나의 목적을 위해 결합 된 자원(HW/SW)들의 집합 System program 시스템을 구성하는 자원을 다루는 프로그램 응용프로그램에 서비스를 제공하는 프로그램 OS, firmware, compilers, I/O routines, scheduler 등 System call Interface 시스템 프로그램이 제공하는 기능을 사용하기 위한 통로 System call과 라이브러리 차이 라..

시스템 엔지니어
'C언어' 태그의 글 목록