안녕하세요. 고수를 꿈꾸는 초보 IOT 전문가에요~ 저의 목표는 모든 전자제품에 생명을 불어넣을 수 있는 눈을 키우는 것이랍니다. 하하하(꿈도 크지~) 세상 얼마나 살겠다고 변화의 흐름에 한 몫을 담당하고 싶어요!

해서 우분투 터미널을 열고 연습했지요. 연관성은 없어요 그냥 무작위로 해보고 있어요. SoEn 소프트웨어 연구소(http://soen.kr/) 자료를 바탕으로 gcc로 컴파일 해보는 거지요.

[1]매크로 실습

1.  Have a nice day 를 입력하는 매크로를 만들어보는 실습이에요. Visual studio랑은 다르게 우분투 터미널에서는 vim 치고 만들고자 하는 파일명 치면 바로 편집할 수 있어요.(두둥 편하드라구요) 컴파일도 위처럼 치구요.. (순서를 gcc -o message.c test2 로 했다가 뭐시뭐시기 길게 나오더니 message.c 파일이 사라지더라구요. 여러가지 실험을 해보실 분은 백업을 꼭 해두시길.. 아 근데 터미널에서는 백업을 어떻게 하죠?ㅎㅎ)

2. 이번에는 매크로에 세번 써봤지요..굳이 DUP 이라고 이름 안지어도 되더라구요.

3.DUP이라는 매크로 이름을 ng로 바꾸고 MESSAGE도 길어서 그냥 M 이라고 해도 잘되요~ 매크로 어렵지 않아요~ gg

[2] 산술연산자

1. 이번엔 뜬금없이 산술 연산자를 연습해 보았지요. 원의 반지름을 입력하고 원의 둘레와 넓이를 구하는 프로그램이에요.

안보고 쏵~다 제가 짜면 얼마나 좋을까요?ㅠㅠ 그냥 따라해보았지요. 손에 익으라고!!

2. pi는 정해진거라 float(실수형) 선언에 const를 붙여줘야 하나봐요.. int(정수형) 앞에도 const를 붙이는 경우도 있더라구요. 책에서는 f3.14...어쩌고 길게 나왔는데... 전 그냥 3.14만 넣었어요. 문자명도 겁나 길게 했죠? 짧게 하세요 짧게..ㅋㅋ(제 터미널에서 한글이 안되요. 왜그러는걸까요? 그냥 영어 공부하는 겸 콩글리쉬 몇자 적고 있어요~) 요렇게 저장하고 실행하면 끝! 고수가 되는 그날(오긴 올까요?ㅎㅎ)까지.. don't give up! boy~!







정말 세상에는 정보가 많네요. 지금 저에게 주어진 미션은 임베디드 시스템을 공부해라! 거든요. 리눅스, 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와 동일)

 

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

 

우분투 관련 많은 글들이 올라와 있지만 공유하는 이유는 제 환경에서 설치하는데 너무 많은 시간이 투자되서요. 참고하실 분들에게 도움이 되길 바라며..

(제가 설치한 노트북 환경 : #Win8 64 비트 i5 4G RAM)

[참고] : 아래 두 분에게 감사합니다.
버추얼박스로 우분투 설치하기
http://mainia.tistory.com/2379
우분투 설치하기
http://deviantcj.tistory.com/473
우분투 파티션 구성하기
http://deviantcj.tistory.com/434


먼저 [참고]를 확인하셔서 VirtualBox(이하 VB)를 설치하고 우분투에서 본인 윈도우 비트에 맞는 iso 파일을 다운로드하고 진행하면 되요. 이 다음부터는 VB에 32비트만 뜨고 64비트가 안 뜰 경우 참고하시면 되어요. 그리고 VB 용량을 8GB 설정했다가 용량 부족으로 두 번 설치했어요.ㅠㅠ 해서 전 VB 용량을 넉넉히 30GB로 잡고 진행했답니다.

01. BIOS에 들어가기

02. Virtualization 클릭

03. Enabled로 설정후 저장 후 다시 부팅

04. 64비트 선택

05. 젤 오른쪽 디스크 화면이 안뜨면 다시 BIOS에 가서 01~03작업을 해야 떠요.

06. 저장소 가상디스크 설정

07. 실행 후 설치

08. 서드파티 체크후 설치

09. 기타 체크 후 계속

10. 새 파티션 테이블 계속

11. 파티션 만들기(1)

12. 파티션 만들기(2)

13. 파티션 만들기(3) 하고 지금 설치!

14. 기존 용량 설치 후 진행하다 애러!!ㅜㅜ(버추얼 박스 용량을  8G보다 크게 설정하는게 좋겠죠~)

15. 서울 설정

16. 한국어 자판설정

17. 아이디 비번 삽입

18. 설치 후 로그인 하면 끝!


저의 티스토리 첫 글이네요. 블로그 하는게 이런 노가다인지 몰랐네요. 기존 고수님들 대단해요!!! 도움이 되셨길~ 안됬으면... 쩔 수 없죠! -N.G






























+ Recent posts