유닉스 리눅스 프로그래밍

NANA·2022년 8월 10일
0

LinuxStudy

목록 보기
2/5

그냥 하면서 몰랐던 거 그때 그때 정리 (두서 없음)

  1. vim 편집기가 그냥 설치되어 있지 않을 수도 있으므로 apt-get 혹은 yum install 해서 쓸 것

Linux 종류
Linux 는 크게 레드햇, 데비안, 우분투 3가지로 분류되며, 계열에 따른 패키지 관리 명령어가 다르다.
레드햇 계열은 yum 을 사용하고
레드햇 엔터프라이즈
페도라
CentOS
데비안, 우분투 계열은 apt-get 을 사용한다.

  1. cat 명령어
    리눅스(Linux)에서 cat 명령은 다양하게 활용됩니다. 파일의 내용을 간단하게 출력할 때도 사용하지만, cat명령어 이름처럼 두 개 이상의 파일을 연결(concatenate)해서 출력할 때 사용하는 것이 기본입니다. 보통 리다이렉션 기호와 함께 사용하여 파일을 생성하거나 병합을 할 때도 사용됩니다.
cat file1

cat 명령 뒤에 파일 이름을 입력하면 그 파일의 내용을 출력합니다.



cat file1 file2 file3

여러 개의 파일을 전달하여 파일 내용을 연속해서 출력할 수 있습니다.



cat -n file1 file2 file3

cat 명령의 n 옵션을 사용하면 행 번호를 표시한다.

(더 자세한 옵션은 cat --help에서 확인하세요.)
gcc -W -Wall -O2 -o like like.c
  • -Wall 옵션 : 모든 경고 메시지 출력
  • -W는 -Wall에서 제외된 16가지 종류의 경고 메시지 출력
  • O2 옵션은 최적화에 관계된 옵션으로,like.c 컴파일 과정에서 최적화 과정을 수행해 속도를 향상시키고 사이즈 줄일 때 사용하는 옵션.
  • -o 옵션은 output의 의미, like.c를 컴파일해 결과로 나오는 실행 파일명이 like가 되게 지정하는 옵션...
  1. 예제
#include <stdio.h>
#include <unistd.h>
#include <math.h>

void lovecall()
{
        double love;

        for(love=0; sin(love)+2; love++) {
                printf("I love you.\n");
                sleep(1);
        }

}
#include <stdio.h>

void lovecall();

int main()
{
        printf("I like you\n");
        lovecall();

        return 0;
}
~

원래 얘네를 실행하려면

gcc -W -Wall -O2 -o like like.c love.c -lm

와 같은 복잡한 컴파일 명령어를 실행해야 함..
라이브러리 넣겠다 뭐 하겠다 어쩌겠다 하는..

그런데 이 소스를 다른 사람이 쓴다고 생각하면?
매번 이렇게 복잡한 명령으로 컴파일 할 수 없다.
그래서 컴파일 명령을 각 파일에 맞게 자동화시켜주는
make를 사용하는 것..

  1. Makefile 예제와 make 실행 순서
all : diary

diary : memo.o calendar.o main.o
	gcc -W -Wall -o diary memo.o calendar.o main.o

memo.o : memo.c
	gcc -W -Wall -c -o memo.o memo.c
    
calendar.o : calendar.c
	gcc -W -Wall -c -o calendar.o calendar.c

main.o : main.c
	gcc -W -Wall -c -o main.o main.c
    
clean :
	rm -rf *.o diary

C언어를 아직 잘 모르지만..
** 컴파일, 링킹, 헤더파일, Makefile의 필요성 등.. 꼭 읽을 것
https://code4human.tistory.com/110

profile
기술블로그 그런 거창한 거 아닙니다. 일기에요 일기

0개의 댓글