CS/리눅스(Linux) 3

리눅스(linux) File I/O의 system calls [컴공과고씨]

리눅스에서의 file i/o에 대한 system call과 c를 이용해서 파일 입출력을 해보겠습니다. 일단 system call이란 application 즉, 사용자가 쉽게 프로그래밍할 수 있도록 만든 언어들 c++ 이런것 들은 하드웨어를 직접 access할 수 없습니다. hardware는 운영체제가 관리를 하기 때문에 하드웨어 접근이 필요할 때 운영체제에게 서비스를 요청할 때 system call을 사용하여 요청한다고 볼 수 있습니다. 리눅스에서의 file i/o에 관한 system call은 open, read, write, close lseek, fcntl, ioctl 이 있습니다. #include 를 하게되면 자동적으로 STDIN_FILENO (0) STDOUT_FILENO(1) STDERR_FI..

CS/리눅스(Linux) 2022.10.11

Linux(리눅스) vi 편집기 간단 설명 [컴공과고씨]

앞서 글에서 말했듯이 리눅스에서는 vi 편집기를 사용합니다. 기본적으로 vi 편집기는 커맨드 기반이기 때문에 사용을 할 때 모든 것은 명령어로 이루어집니다. 윈도우에서 visual studio를 사용할 때 마우스로 했던 작업들을 모두 키보드로 한다고 생각하시면 됩니다. vi 편집기는 command Mode, Insert Mode, Command-line Mode로 나누어 집니다. vi편집기 실행 명령어 $ vi main.c 하면 main.c라는 파일을 vi 편집기로 열게 됩니다. 처음에 딱 들어가면 Command Mode로 시작이 됩니다. 여기서 i, a, o, I, A, O 중 하나를 입력하면 insert mode로 가서 입력을 할 수 있게 됩니다. insert mode에서 command mode로 돌..

CS/리눅스(Linux) 2022.09.20

Linux(리눅스) 컴파일의 전체적 과정 (윈도우와 차이점) [컴공과고씨]

Editor(편집기) : 윈도우에서는 visual studio와 같은 편집기를 사용한다면, 리눅스에서는 vi라는 편집기를 사용합니다. 1. 그래서 편집기 vi에서 소스파일들을 작성을 하겠죠. 2. 여기서 만든 소스파일들을 컴파일러(gcc, g++)을 통해 object 파일로 만들어줍니다. *gcc->c, g++->c++ 파일 확장자는 *.c ->*.o 로 됩니다. 이때 한 개의 소스파일 당 하나의 object 파일을 만들게 됩니다. *여러개의 소스파일 중 어떤 소스파일들을 object파일로 할지를 결정하는 것이 윈도우 visual studio에서는 프로젝트라고 볼 수 있습니다. 리눅스에서는 그 역할을 하는 것이 make 입니다. make file은 object파일로 만들 소스파일들을 지정해주고 make라..

CS/리눅스(Linux) 2022.09.20