정말 세상에는 정보가 많네요. 지금 저에게 주어진 미션은 임베디드 시스템을 공부해라! 거든요. 리눅스, C언어, 자바, etc 공부할 것이 상당히 많더라구요.

결론은 C를 공부하기 위해서 환경을 준비하는 거지요.

 

[친절한 임베디드 시스템 개발자 되기 강좌]

http://recipes.egloos.com/

[Soen 소프트웨어 공학 연구소]

http://soen.kr/

 

전 완전 초보자에요. 2개의 사이트를 M*S 아카데미 강의를 듣고 알게 됐지요. 물어보고 싶은건 많은데 물어보려면 뭘 좀 알아보고 물어봐야 할 듯 싶더라구요...

(누구를 탓하리오~ 나의 무능함을 탓하리~)

 

visual studio 2008을 깔아서 Soen 사이트의 내용들을 직접 실습하는 중이고요. 우분투(리눅스) 환경에서도 gcc , vi 편집기로 C 코딩을 할 수 있다 하길래 병행해 보려구요. 모르는게 많아서 글 쓰면서도 막 혼잣말로 물어보고 그래도 이해 해 주시길...

 

[1] vim 이용한 c 코딩

우분투 설치 하시면 터미널 여세요. ctrl+alt+T 가 단축키라는데.. 제가 설정을 잘못 눌렀는지 갑자기 안되더라구요.(한글 입력도 안되고.. 누가 방법 좀 알려줘요!)

 

일단 vim 설치를 아래 링크를 통해서 하세요~(이 둘의 차이가 뭔가요? 그냥 편집기가 다른건가요?)

[우분투에 Vim 설치 및 세팅, vi 명령어]

http://sparklingstar.tistory.com/entry/5-%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90-Vim-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%B8%ED%8C%85

[C 코딩을 위한 Vim 설정 및 terminal 설정]

http://blog.naver.com/zoomen1004/110169513617

 

터미널 시작하면 $#의 차이는 잘 몰겠지만 $에서 실행하면 vim 이나 gcc가 읽기 모드로 떠서 저장이 잘 안되는 것 같더라구요. 정확하지 않아요..^^;

1. $ 창에서 sudo su 라고 치면 # 창으로 들어가져요.

 

2. # cd /etc/vim

/etc/vim# vim vimrc (설정창 진입)


3. 옆에 라인 넘버가 없어서 불편하더라구요. 구글서치로 찾아봤지요. (아래 링크 참조)

esc 누르고 : 치고 set number 입력 (없애려면 :set nonumber 입력)

[리눅스-vi 편집기 줄번호 설정]

http://ngee.tistory.com/216


4. 1번 위에 있는 참고 링크 들어가셔서 i를 누르고(편집하시려면 vi 이건 gcc 이건 i를 눌러야 입력이 가능해요. 취소하려면 esc 누르시고요) 설정들을 따라 입력하세요. 귀찮으신 분들은 txt 파일 다운 받아서 컨트롤씨 하면 되겠어요. 하나하나 기능이 뭔지 보셔야 나중에 다시 바꿀 수 있겠네요.ㅎㅎ esc 누르고 :wq(저장 후 종료)를 누르면 다시 설정 전 #화면으로 돌아가요. (이렇게 설정할 수 있는 고수님들의 눈이 부러울 따름이네요~)

 

5. cd 눌러서 home 위치로 가고 #cp /etc/vim/vimrc .vimrc (띄어쓰기 주의) 쳐서 환경설정을 root home 디렉토리에 복사하면 설정 끝!

 

6. 자 그럼 만날 사람들이 애용하는 helloworld 말고 문자를 한 글자 받아서 그 문자의 ASCII 코드값을 표현하는 프로그램을 작성 해 보죠. Vim으로 말이죠.(코드는 역시 퍼 온거임요.ㅎㅎ) 전 그냥 파일명은 helloworld.c로 했어요~ㅎㅎ 비주얼 스튜디오랑 다르게 터미널은 vim 파일명.c 라고 치면 그냥 열려요. 이곳에 아래처럼 입력해요.(한글전환키가 자꾸 충돌되서 그런지 입력이 안되서 콩글리시 영어를 입력했네요.ㅎㅎ 스펠링 틀려도 이해해주세요. 프로그래머는 영어를 잘해야 한다고 하더라구요.ㅠㅠ 이제부터라도 하려구요..화이팅!) 앞에 int main을 입력하면 //return 0; 을 살려주셔야 하고 void main 을 입력하면 리턴을 안해줘야 하더라고요. 무슨 차이인줄 잘 모르겠어요. (-> 리턴할 값이 없는 함수를 void형 함수라고 한다네요. 정수형 값을 리턴하면 정수형 함수, 실수형 값을 리턴하면 실수형 함수. void형 함수는 내부적으로 작업만 할 뿐 결과를 리터한하지 않으므로 호출원에서 함수를 호출만 하며 리턴값을 대입 받거나 사용지 말아야 한다고 하네요. [Soen 연구소 자료 참고])  일단 그냥 패스.

 

7. c언어 입력 다하면 저장 후 종료(:wq) 하기 (저장이 안 되는 경험을 하신 분은 아래 링크 참조하세요)

 

[readonly 오류 해결]

http://sukeyprog.blogspot.kr/2015/06/linux-2vi-ex-e45-readonly-option-is-set.html

 

 

8. 헉 대박사건. vim으로 편집하고 gcc로 컴파일 하는 거네요. 블로깅 하면서 깨닫다니요. (역시 난 초보! vimgcc를 같은 편집 개념으로 생각한 난 완전초보!)

#gcc -o helloworld helloworld.c (컴파일 명령)

순서는 바꿔도 된다고 봤던거 같은데 찾아보세요~helloworld.c는 내가 vim으로 편집한 거고 helloworld 로 컴파일 해달라는 얘기 인듯요. 제대로 컴파일되면 그냥 바로 아무 반응 없이 #이 떠요. 이상있으면 에러 메시지 뜨고요.

 

9. #./helloworld (실행)

이렇게 실행하면 끝! A 문자를 입력하고 65라는 아스키값을 받았네요.

 

10. #exit (종료) 를 하면 본래의 $ 프롬프트로 돌아 온답니다. !

 

[2] GNU nano를 이용한 c 컴파일

 

1. 아래 링크를 참고해서 gcc를 설치해요.

[라즈베리파이 및 우분투에서 gcc를 이용하여 c 컴파일하기]

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0qWfU&articleno=106&_bloghome_menu=recenttext

 

2. $sudo nano helloworld.c 를 실행하면 GNU nao 편집기로 들어가져요. 패스워드는 로그인시 설정한 패스워드 입력하면 되요~ vim 편집기랑 비슷하면서도 뭔가 다른 느낌이랄까.. 전 이래서 헷갈렸거든요. vim으로 편집한거 GNU로 가져와도 코드 내용은 같더라구요. 아 알았네요. 1번 다음 링크 님은 GNU에서 만든 nano라는 편집기로 편집을 했던 거로군요. 초보자용 편집기라 하네요. 결국 vim(vi편집기) = GNU nano 편집기는 같은 역할을 하는 편집기인 샘이네요.ㅎㅎ 블로그 올리는 것이 개인 공부도 되는 군요.ㅎㅎ 아래 링크 참조하세요


[리눅스 포털]

https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=10927

 

 

3. 코드 작성 -> 저장 후 종료

 

4. $gcc -o helloworld helloworld.c

$./helloworld ([1] 8,9와 동일)

 

고수가 되는 그날까지.. 화이팅! !

 

+ Recent posts