vim : 에디터 (메모장)
gcc : 컴파일러 (메모장에 써진 내용을 기계어로 바꿔주는 것(실행파일생성))
검증된 프로그램 다운받는 곳
원래는 해당 폴더에서 "./[실행파일]" 로 실행해야 하지만,
apt-get 은 이미 PATH 설정이 되어 있어서 어디서든지 실행 가능
apt-get update // 프로그램 목록을 최신화
apt-get install vim // vim 프로그램 설치
apt-get install gcc // gcc 프로그램 설치
vi(version1)와 vim(version2) 차이점 : 버전 차이
지금은 vi를 실행하면 vim이 실행 됨
왜 vi 에디터를 사용함? 보안이 강한 서버실에서 vi 사용
vi hello.c : 파일이 없으면 생성, 있으면 편집모드
1. 명령모드 (command mode)
vi 명령어를 통해 vi를 시작할 경우 실행되는 모드. 방향키를 통해 커서를 이동할 수 있다.
- yy : 복사하기
- p : 붙여넣기
2. 입력모드 (insert mode)
명령 모드에서 i 또는 a 키를 누르면 입력 모드.
입력 모드에서는 자유롭게 코드나 글을 작성할 수 있으며,
ESC를 누르면 명령모드.
- i : 커서가 현재 위치한 부분에서부터 시작
- a : 커서 바로 다음 부분부터 시작
- shift+spacebar : 영/한 변환
3. 콜론모드
명령 모드에서 : (콜론)을 입력하면 화면 맨 아랫줄에 입력 가능한 공간이 출력된다.
여기서 vi를 종료할 수 있다.
- :w - 저장
- :wq - 저장 후 종료
- :q - 종료
- :q! - 강제종료
- :/[찾고싶은단어] - 단어찾기
프로그램을 만드는 프로그램
gcc 리눅스 운영체제에서 동작하는 프로그램을 만드는 프로그램
* 임베디드, ARM 코어 컴파일러(크로스 컴파일러) : 순수 CPU에서 동작하는 컴파일러
-> 운영체제를 만듦 -> 그 위에서 돌아가는 컴파일러를 만듦
: hello.c(text파일)을 읽고 해석해서 기계어로 바꿔주는 것
$ vi hello.c //코드 작성 후
hello.c 파일
#include <stdio.h>
int main(){
printf("hello\n");
return 0;
}
1.
$ gcc hello.c // 컴파일하기
a.out hello.c // a.out 이라는 실행파일이 생성
$ ./a.out //실행파일 실행
hello
2. 실행파일 이름 지정
$ gcc -o test hello.c
test hello.c // test 라는 실행파일이 생성
$ ./test
hello

xxd [실행파일명] // 실행파일의 hex 코드 볼 수 있음
: 아스키코드 확인하는 방법

마찬가지로 gcc 컴파일러가 아스키 코드로 읽고 기계어로 번역해서 컴파일함.