본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/2. 개발

emacs에서 c 컴파일

by 3604 2026. 6. 17.
728x90

wsl2ubuntu에 emacs 설치 하기

WSL2에 설치된 Ubuntu에서 Emacs를 설치하는 방법은 크게 두 가지가 있습니다. 터미널 전용(CLI)으로 가볍게 쓸 것인지, 아니면 GUI(창 모드)까지 띄워서 쓸 것인지에 따라 선택하시면 됩니다.

1. 가장 빠르고 간단한 방법 (터미널/CLI 모드)

마우스 없이 터미널 안에서만 Emacs를 사용할 예정이라면, Ubuntu의 기본 패키지 관리자(apt)를 사용하는 것이 가장 깔끔합니다.

터미널을 열고 다음 명령어를 순서대로 입력하세요.

Bash

# 패키지 목록 업데이트

sudo apt update

 

# emacs 설치 (터미널 전용 가벼운 버전)

sudo apt install emacs-nox

 

💡 여기서 emacs-nox?'No X11'의 약자로, GUI 관련 종속성 패키지들을 빼고 터미널 환경에 최적화된 가벼운 버전입니다.

설치가 완료되면 터미널에 emacs를 입력하여 실행할 수 있습니다.

2. GUI(창 모드) 기능을 포함해 설치하는 방법

WSL2는 자체적으로 GUI 애플리케이션 표시(WSLg)를 지원하므로, Windows 바탕화면에 Emacs 창을 따로 띄워서 사용할 수도 있습니다. 마우스 조작이나 폰트 렌더링이 필요하다면 이 방법을 추천합니다.

Bash

# 패키지 목록 업데이트

sudo apt update

 

# emacs 전체 패키지 설치 (GUI 포함)

sudo apt install emacs

 

설치가 끝난 뒤 터미널에 emacs &를 입력하면 Windows 화면에 익숙한 Emacs GUI 창이 나타납니다. (뒤에 &를 붙이면 에디터를 켜두고도 터미널을 계속 쓸 수 있어서 편합니다.)

3. 제대로 설치되었는지 확인하기

설치가 완료되었다면 버전 확인을 통해 정상 작동 여부를 체크해 보세요.

Bash

emacs --version

 

📌 : 완전히 지우고 싶을 때는?

만약 설치 중에 꼬이거나 삭제하고 싶다면 아래 명령어를 사용하시면 됩니다.

Bash

sudo apt purge emacs emacs-nox

sudo apt autoremove

 

취향과 작업 환경(서버 관리용 vs 로컬 개발용)에 맞춰 편한 방법으로 시작해 보세요! 추가로 복잡한 개발 환경 설정을 위해 최신 버전을 소스 코드로 직접 빌드하는 방법이 필요하시다면 언제든 말씀해 주세요.

ubuntugcc설치하고 emacs에서 사용하기

WSL2 Ubuntu 환경에서 GCC(C/C++ 컴파일러)를 설치하고, Emacs에서 코드를 작성해 빌드 및 실행하는 방법을 단계별로 안내해 드릴게요.

1. UbuntuGCC 설치하기

Ubuntu에서 C/C++ 개발을 할 때는 GCC뿐만 아니라 make등 필수 개발 도구가 모여있는 build-essential패키지를 설치하는 것이 가장 좋습니다.

터미널에 다음 명령어를 입력하세요.

Bash

# 패키지 목록 업데이트

sudo apt update

 

# 개발 필수 도구(GCC, G++, Make ) 설치

sudo apt install build-essential

 

설치 확인

설치가 완료되면 아래 명령어로 GCC가 잘 설치되었는지 확인합니다.

Bash

gcc --version

 

버전 정보가 정상적으로 출력된다면 준비 완료입니다.

2. Emacs에서 C 코드 작성하고 컴파일하기

이제 Emacs를 열어 간단한 C 언어 코드를 작성하고, Emacs 내부에서 바로 컴파일하고 실행해 보겠습니다.

Step 1: Emacs에서 파일 열기

터미널에 아래 명령어를 입력해 hello.c파일을 만들며 Emacs를 켭니다.

Bash

emacs hello.c

 

(GUI 버전을 쓰신다면 emacs hello.c &로 실행하셔도 됩니다.)

Step 2: 코드 작성 및 저장

Emacs 창이 열리면 아래의 기본 C 코드를 입력합니다.

C

#include <stdio.h>

 

int main(){

printf("Hello, WSL2 Emacs!\n");

return 0;

}

 

저장하기:Ctrl + x를 누른 뒤 이어서 Ctrl + s를 누릅니다. (하단에 Wrote ... 문구가 뜨면 저장 완료)

Step 3: Emacs 내부에서 컴파일하기 (M-x compile)

Emacs를 종료하고 터미널로 나갈 필요 없이, Emacs 안에서 바로 GCC를 실행할 수 있습니다.

Alt + x(Emacs에서는 이를 M-x라고 부릅니다)를 누릅니다.

하단 미니버퍼에 compile을 입력하고 Enter를 누릅니다.

Compile command: make -k라는 기본 명령어가 나타나면, 이를 지우고 아래와 같이 GCC 명령어를 입력합니다.

Bash

gcc hello.c -o hello

 

Enter를 누르면 화면이 반으로 쪼개지면서 *compilation*버퍼가 열리고 컴파일 결과(성공 시 finished)가 표시됩니다.

Step 4: Emacs 내부에서 실행하기 (M-x shell-command)

컴파일된 프로그램을 실행하는 것도 Emacs 안에서 가능합니다.

Alt + !(또는 Alt + xshell-command입력)을 누릅니다.

하단에 ./hello를 입력하고 Enter를 누릅니다.

하단 메시지 창에 Hello, WSL2 Emacs!라는 출력 결과가 나타나는 것을 확인할 수 있습니다.

💡 단축키 요약 팁

Emacs 안에서 C 개발을 하실 때 다음 세 가지 단축키 조합만 기억하시면 작업 효율이 엄청나게 올라갑니다.

Ctrl + x-> Ctrl + s: 파일 저장

Alt + x-> compile: GCC 컴파일 (두 번째부터는 이전 명령어를 기억하므로 그냥 엔터만 치면 됩니다)

Ctrl + x-> 1: 컴파일 창 등으로 화면이 분할되었을 때, 현재 커서가 있는 코드 창만 전체 화면으로 키우기

이 방식으로 터미널과 에디터를 오갈 필요 없이 Emacs 하나만으로 깔끔한 개발 환경을 구축할 수 있습니다. 작성하시다가 막히는 부분이나 에러가 나면 말씀해 주세요!

"root@DESKTOP-GK0BRBG:~# sudo apt install build-essential
...

Postfix (main.cf) configuration was not changed. If you need to make changes,

edit /etc/postfix/main.cf (and others) as needed. To view Postfix

configuration values, see postconf(1).

After modifying main.cf, be sure to run 'systemctl reload postfix'.

Running newaliases

newaliases: fatal: bad string length 0 < 1: mydomain =

dpkg: error processing package postfix (--configure):

installed postfix package post-installation script subprocess returned error exit status 75

Errors were encountered while processing:

postfix

E: Sub-process /usr/bin/dpkg returned an error code (1)" 해결 방법?

현재 상황은 build-essential(GCC)은 이미 최신 버전으로 잘 설치되어 있는 상태입니다.

하지만 이전에 설치하다가 중단되었거나 설정이 꼬인 postfix(메일 서버 패키지) 프로그램이 우분투 시스템 발목을 잡고 있어서다른 패키지 작업까지 에러(exit status 75)를 내며 막고 있는 상황입니다.

postfix메일 서버가 굳이 필요하지 않은 환경(일반적인 C/C++ 개발 환경)이라면, 아래 방법으로 이 문제를 깔끔하게 해결할 수 있습니다.

해결 방법: 꼬인 postfix 패키지 강제 삭제하기

가장 확실하고 빠른 방법은 에러를 일으키는 postfix를 완전히 제거하여 우분투 패키지 관리자(dpkg)를 정상 상태로 되돌리는 것입니다.

터미널에 다음 명령어를 순서대로 입력해 주세요.

Step 1: 꼬인 패키지 강제 삭제

Bash

sudo apt purge -y postfix

 

💡 참고:purge는 설정 파일까지 완전히 지우는 명령어입니다. 만약 삭제 중에 또 에러가 난다면 아래 명령어로 지우지 못하고 남은 찌꺼기를 강제로 정리해 줍니다.

Bash

sudo apt autoremove -y

 

Step 2: 패키지 관리자 데이터베이스 복구

데이터베이스가 완전히 정리되도록 다음 명령어로 깨진 의존성을 강제로 복구합니다.

Bash

sudo apt --fix-broken install

 

Step 3: 시스템 업데이트로 정상 작동 확인

이제 시스템이 정상화되었는지 최종 확인하기 위해 업데이트를 진행해 봅니다.

Bash

sudo apt update && sudo apt upgrade -y

 

에러 메시지 없이 Done또는 업데이트가 완료된다면 문제가 완벽히 해결된 것입니다.

🛠GCC 작동 여부 확인하기

앞서 말씀드렸듯 출력 결과에 build-essential is already the newest version이라고 나왔기 때문에, GCC 자체는 이미 설치되어 있습니다. 위의 패키지 에러를 해결하셨다면 곧바로 GCC를 사용할 수 있습니다.

터미널에 아래 명령어를 쳐서 버전이 잘 나오는지 확인해 보세요.

Bash

gcc --version

 

정상적으로 버전 정보가 출력된다면, 이전 답변 드린 [2. Emacs에서 C 코드 작성하고 컴파일하기]단계로 넘어가서 바로 개발을 시작하시면 됩니다!

 

728x90