목차
- 리눅스 Makefile C 소스코드 컴파일 및 오브젝트 생성하기 이전 포스팅 참고 학습
- 리눅스 NC 활용 및 사용법 확인 이전 포스팅 참고 학습
- 리눅스 게이트웨이 주소 설정하기 이전 포스팅 참고 학습
- 리눅스 Makefile C 모듈 여러개 작성하기 예제
- 리눅스 Makefile 여러개의 C 모듈 컴파일 및 오브젝트 생성위한 작성 예제
리눅스 Makefile C 소스코드 컴파일 및 오브젝트 생성하기 이전 포스팅 참고 학습
이전 포스팅에서는 Makefile을 사용하여 C 소스 코드를 컴파일하고 오브젝트 파일을 생성하는 방법을 학습했습니다. Makefile을 작성하여 프로젝트를 효율적으로 관리하고 소스 코드를 컴파일할 수 있습니다. 따라서 리눅스 환경에서 Makefile을 작성하여 C 소스코드를 컴파일하고 오브젝트를 생성하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.15 - [Linux] - [Linux/C] 리눅스 Makefile 문법 C 소스코드 컴파일 및 오브젝트 생성 예제(Make)
리눅스 NC 활용 및 사용법 확인 이전 포스팅 참고 학습
이전 포스팅에서는 리눅스에서 nc (netcat) 유틸리티를 사용하여 네트워크 통신을 테스트하고 디버깅하는 방법을 학습했습니다. nc를 사용하여 서버와 클라이언트 간의 연결을 설정하고 데이터를 전송하는 예제가 포함되어있습니다. 따라서 웹 서버 혹은 TCP 서버를 구성하여 간단히 연결 및 통신 테스트가 필요하시다면 NC를 활요할 수 있습니다. 리눅스에서 NC 활용 방법이 궁금하시다면 아래 링크를 참고해주세요.
2020.06.19 - [Linux/OS] - Linux Ubuntu NC 사용법 - 1
리눅스 게이트웨이 주소 설정하기 이전 포스팅 참고 학습
마지막으로 이전 포스팅에서는 리눅스에서 게이트웨이 주소를 설정하는 방법을 학습했습니다. 네트워크 연결을 관리하고 인터넷에 연결하기 위해 게이트웨이 설정을 구성하는 방법을 자세히 확인할 수 있습니다. 게이트웨이는 내 컴퓨터에서 데이터가 나가는 관문입니다. 즉, 나갔다 들어와야 외부 서버와 통신이 가능합니다. 이러한 리눅스에서 게이트웨이 주소 설정방법이 궁금하시다면 아래 링크를 참고해주세요.
2020.04.28 - [Linux/OS] - Linux Ubuntu 게이트웨이 주소 설정
리눅스 Makefile C 모듈 여러개 작성하기 예제
아래는 여러 개의 C 모듈을 작성하는 예제를 입니다. 이렇게 작성한 여러개의 C 모듈을 아래 예제에서 Makefile에서 모두 컴파일하여 오브젝트를 생성하겠습니다.
$ cd /tmp/make_test
$ vim module1.c
// module1.c
#include <stdio.h>
void module1_function() {
printf("Module 1\n");
}
$ vim module2.c
// module2.c
#include <stdio.h>
void module2_function() {
printf("Module 2\n");
}
$ vim module3.c
// module3.c
#include <stdio.h>
void module3_function() {
printf("Module 3\n");
}
$ vim main.c
// main.c
#include <stdio.h>
extern void module1_function();
extern void module2_function();
extern void module3_function();
int main() {
module1_function();
module2_function();
module3_function();
return 0;
}
리눅스 Makefile 여러개의 C 모듈 컴파일 및 오브젝트 생성위한 작성 예제
아래는 Makefile을 사용하여 여러 개의 C 모듈을 컴파일하고 오브젝트 파일을 생성하는 예제입니다.
$ vim Makefile
# Makefile
CC = gcc
CFLAGS = -Wall -g
TARGET = myprogram
SOURCES = main.c module1.c module2.c module3.c
all: $(TARGET)
$(TARGET): $(SOURCES)
$(CC) $(CFLAGS) -o $(TARGET) $(SOURCES)
clean:
rm -f $(TARGET)
$ make