본문 바로가기

코딩/42경산

42경산 라피신 예습, 윈도우에 우분투 설치하고, 터미널에서 vi 에디터로 C언어 코드 작성하고 실행해보기

반응형

42경산은 윈도우도, 맥OS도 아닌 우분투 환경에서 과제를 해결해야 한다고 합니다.

게다가 C언어를 활용하여 라피신 과정을 진행해야 합니다.

산넘어 산인게 테스트는 터미널을 활용해서 진행해야 한다고 합니다.

그럼 결국 C언어를 터미널 환경에서 활용할 수 있어야 한다는 뜻입니다.

 

그래서 라피신 예습을 위한 우분투 환경 구축 및 vi 에디터를 활용한 C언어 코딩 방법에 대해 알아보고자 합니다.


우분투 환경은 윈도우가 설치된 PC가 있다면 생각보다 쉽게 구축할 수 있습니다.

여러분 혹시 WSL을 아시나요?

WSL은 Windows Subsystem Linux의 약자인데,

말그대로 윈도우에서 리눅스 환경을 사용할 수 있도록 해주는 도구입니다.

 

우리는 WSL2를 이용해서 윈도우 PC에 우분투를 설치해보겠습니다.


우선 [Ctrl] + [Alt] + [Del] 키를 눌러 작업관리자를 열고, 성능 - CPU 탭에서 가상화를 사용중인지 확인합니다.

가상화를 사용중이지 않고 있다면,

윈도우 검색 기능을 활용해 [Windows 기능 켜기/끄기]에 진입합니다.

그리고 [Linux용 Windows 하위 시스템]에 체크를 한 뒤 재부팅 해주세요.


이제 [Powershell]을 관리자 권한으로 열어줍니다.

wsl --install

파워쉘에 진입하셨다면 위 명령어를 입력해주세요.

wsl --install -d Ubuntu

다음은 위 명령어를 입력해줍니다.


이제 터미널에서 새 탭을 열어 Ubuntu를 실행하시면 윈도우에서 터미널 환경으로 우분투를 실행하실 수 있습니다.

저는 이미 우분투 셋팅을 마쳐버려서 스크린샷을 찍지 못했지만,

최초 우분투 실행 시 아이디와 패스워드를 입력하라고 합니다.

이때 패스워드를 입력해도 화면에는 글자가 뜨지 않는데,

원래 화면에는 보이지 않는 거기 때문에 당황하지 말고 패스워드를 입력하시면 됩니다.


sudo apt update
sudo apt install gcc

우분투 셋팅이 끝나셨다면 명령어를 입력해 gcc 컴파일러를 설치해줍니다.

이제 C언어로 작성된 파일을 실행할 수 있게 되었습니다.


mkdir codes
cd codes
vi [C언어파일명].c

이제 mkdir 명령어를 이용해 codes라는 폴더를 생성하고,

cd 명령어를 이용해 codes폴더로 이동한 뒤,

vi 에디터를 이용해 확장자가 '.c'인 c언어 파일을 생성합니다.

저는 'ctest'라는 파일명을 가진 c언어 파일을 생성했습니다.

처음 vi에디터를 이용해 c언어 파일을 생성하고 열어보면 위와 같이 텅 빈 화면이 보입니다.

참고로 좌측 하단에 ctest2.c라고 표시된 것은 제가 ctest2.c파일을 새로 생성해서 열었기 때문입니다.

이 상태에서 키보드의 [ i ]를 눌러줍니다.

그럼 좌측 하단의 파일명이 --INSERT--로 변경됩니다.

#include <stdio.h>
int main()
{
    printf("우분투에서 vi로 c언어 코딩해보기\n");
    return 0;
}

이제 C언어 코드를 작성해봅니다.

저는 간단하게 printf 함수를 이용한 코드를 작성해보았지만,

c언어로된 코드를 자유롭게 작성하시면 됩니다.

작성이 끝나면 [esc] 버튼을 눌러 INSERT 상태에서 빠져나온 뒤,

[ : ] + [ w ] + [ q ]를 순서대로 입력해서 vi에디터를 저장 후 종료합니다.


c언어로 코드를 작성했으니 이제 gcc로 컴파일해보겠습니다.

gcc [파일명].c -o [컴파일된파일명].c

c언어로 작성한 파일이 있는 위치에서 위 명령어를 실행해줍니다.

c언어로 작성한 파일을 컴파일한 뒤, 컴파일이 완료된 새로운 파일을 생성해줍니다.

./[컴파일된파일명].c

이제 컴파일이 완료된 파일을 실행해줍니다.

위와 같이 C언어로 작성한 파일이 정상적으로 동작하는 것을 확인할 수 있습니다.


윈도우에서 우분투와 터미널, C언어 컴파일 환경을 모두 구축해보았습니다.

이제 라피신 전까지 C언어 예습을 하시면 됩니다.

반응형