임베디드시스템설계강의자료 3 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Size: px
Start display at page:

Download "임베디드시스템설계강의자료 3 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과"

Transcription

1 임베디드시스템설계강의자료 3 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

2 Outline n Shell n 리눅스명령어 n vi editor n Young-Jin Kim

3 vi 편집기 v vi 소개 Ø Bill Joy 에의해 BSD 유닉스용으로개발 Ø System V 와유닉스의대부분버전에서기본유틸리티로채택 Ø vi 는 visual editor 의약어이다. Ø A 2009 survey of Linux Journal readers found that vi was the most widely u sed text editor among respondents, beating gedit, the second most widely used editor by nearly a factor of two (36% to 19%) Young-Jin Kim

4 vi 편집기 } 실행방법 : vi 명령어뒤에파일이름 } vi 실행시시작하는모드는명령모드 } 편집기모드 } 입력모드혹은편집모드 글자를입력할수있는모드 } 모드변환방법 - 명령모드에서 a,a,i,o,o 등을입력했을때 } 명령모드혹은 ESC 모드 커서이동및기타명령어처리 } 모드변환방법 - 실행모드혹은입력모드에서 ESC 키를눌렀을때 } 실행모드혹은콜론모드 내용바꾸기및기타 } 모드변환방법 - 명령모드에서콜론 (:) 을입력했을때 입력모드 입력명령 ESC 명령모드 : 실행완료 실행모드 Young-Jin Kim

5 vi 편집기 } 입력모드전환 a : 커서위치의다음칸부터입력하기 (append) A : 커서가있는줄의끝부터입력하기 i : 커서위치부터입력하기 I : 커서가있는줄의맨앞에서부터입력하기 o : 커서바로아래에줄을만들고입력하기 (open line) O : 커서바로위에줄을만들고입력하기 s : 커서가있는글자를지우고입력하기 S : 커서가있는행을지우고입력하기 Young-Jin Kim

6 vi 편집기 } 커서이동 h : 왼쪽, j : 위로, k : 아래로, l : 오른쪽 ( 방향키사용가능 ) - 글자단위 w : 다음단어로, b : 이전단어로 - word 단위 ^ : 맨왼쪽의첫글자, $ : 마지막글자의끝 - 행단위 ^F: 한화면아래로, ^B: 한화면위로, ^D: 반화면아래로, ^U: 반화면위로 gg: 파일의맨처음줄로 G : 파일의맨마지막줄로 :n : 파일의 n번째줄로 (e.g. n이 1이면첫번째줄로 ) H : 화면상에처음줄로 M : 화면상의중간줄로 L : 화면상의마지막줄로 Young-Jin Kim

7 vi 편집기 } 삭제기능 x : 커서위치의글자삭제 X : 커서바로앞의글자삭제 dw : 한단어를삭제 D : d$ 커서위치부터줄의끝까지삭제 dd : 커서가있는줄을삭제 } 복사및붙여넣기 yw : 커서위치부터단어의끝까지복사하기 y0 : 커서위치부터줄의처음까지복사하기 y$ : 커서위치부터줄의끝까지복사하기 yy : 커서가있는줄을복사하기 nyy : 커서가있는줄을포함하여 n 줄을복사하기 (e.g. 5yy이면 5줄복사 ) p : 커서의다음위치에붙여넣기 P : 커서가있는위치에붙여넣기 Young-Jin Kim

8 vi 편집기 } 기타 u : 작업취소하기 (undo) U : 그줄에행해진작업모두취소하기. : 조금전에했던명령을반복하기 ~ : 대소문자전환 / 검색어 : 아래방향으로찾기 ( 검색 )? 검색어 : 위쪽방향으로찾기 n : 다음찾기 Young-Jin Kim

9 vi 편집기 } 치환관련실행 :%s/old/new/g old를 new 로치환 :%s/char/_&_/g 문서처음부터마지막까지의 char 를 _char_ 로치환 :.,$s/char/_&_/g 현재 ( 커서위치 ) 부터마지막까지의 char 를 _char_ 로치환 :%s/aaa//g aaa를삭제 :%s/\n\n/\n/g 빈줄두줄을한줄로바꾸기 } 파일관련실행 :w 현재파일에저장 :w 파일명 파일명 으로저장 :q 일반적인종료 :q! 변경사항을무시하고강제종료 :wq 현재파일에저장하고종료 :e 파일명 파일명 의파일을불러들여편집 :r 파일명 파일명 의파일을읽어서삽입 :! 명령어 외부명령어실행 Young-Jin Kim

10 vi 편집기 } 사용자정의 } 사용자가작업환경을제어하기위해사용 / 사용하지않음으로설정할수있는많은매개변수가존재 } 옵션들은기본값을가지고있지만, 조정을통해서설정할수있다 } 현재시스템의설정내용보기 } :set all Young-Jin Kim

11 vi 편집기 } vi 환경설정 } vi 편집기의매개변수를새로운값으로편집하여사용자정의될수있고사용자가이의값을바꿀수있다 } set 명령을사용 } 환경옵션변수 키 autoindent(ai) number(nu) ts=4 smartindent sm shiftwidth=4 동작이전줄과같은형식으로새줄을정렬 à 정렬없앨때는 noai 사용줄번호를표시 à 줄없앨때는 nonu 사용탭크기를 4 만큼지정 tab-자동맞춤을해줌새로입력한괄호의짝표시자동들여쓰기너비 } 설정파일사용 } 사용자홈디렉토리에서 vi.exrc 편집후, 위표내용삽입 } source.exrc 수행 à 위환경설정이적용됨 Young-Jin Kim

12 Young-Jin Kim

13 } gcc (GNU project C and C++ compiler) compile 실행개요 } gcc 소스파일명 -o 실행파일명 include 헤더파일명 I{include 할헤더파일디렉토리 } D{define 할 macro} l{ 라이브러리이름 } L{ 라이브러리디렉토리 } } 예 ) gcc -o test test.c I/usr/ajou/include lm L/usr/lib à 최종의실행파일 test 가만들어짐 } -l: object library 를읽어들임예 ) lmyarchive à libmyarchive.a( 또는 libmyarchive.so) 라는 library 파일과같이 linking 을수행함 (library 파일이름은기본적으로 lib 로시작하니깐그것을빼고지정 ) } -L: library search 를 linker 에게넘겨줌 } gcc 옵션 } -E: cpp 의전처리결과표시 (-save-temps 에서중간생성파일명.i 를읽는것을더추천 ) } -S: 전처리후 cc 에의해어셈블까지하고멈추며어셈블리파일을생성 ( 파일명.s) } -c: as 에의해컴파일후링크를하지않고오브젝트파일까지생성 ( 파일명.o) } -static: 정적라이브러리를이용한 static linking 지시 } -shared: 공유라이브러리를사용한 dynamic linking 지시 } -print-search-dirs: 컴파일러가 library 와실행파일을검색하는 path 를보임 cf. cpp -v: include 를위해검색하는 path 를보임 Young-Jin Kim

14 } Make 기능및목적 } 컴파일을자동화하는프로그램 } 실행파일을만드는과정 ( 빌드 ) 을정의하면필요한작업만을수행하여실행파일생성 } 입력파일간의의존성을파악하여어느부분이새롭게컴파일되어야하는지를자동적으로판단해서필요한명령어를이용해서그들을재컴파일 } 다중모듈프로그램의재사용을유지하고, 프로그램수정에대한재번역을최소화 } gmake gnumake 는 make 보다발전된것임 } Make 사용 } 입력파일이변경되면자동적으로결과파일이변경되기를원할때나명령어방식으로처리되는모든곳에유용하게사용가능 } 파일의상호의존관계를나타내는목록파일 () 이필요 } GNUmakefile, makefile, 중하나가 default 로사용하는파일임 } 보통 의이름으로파일작성을함 } 을참조하여파일을최신버전으로컴파일및링크 Young-Jin Kim

15 } 의기본형태 } 타겟 (target) Target : Prerequisites(Dependencies) [TAB]Recipe(Command) } 프로그램에의해생성해내고자하는파일의이름또는수행하고자하는액션 (action) 의이름 } 선행조건 (prerequisites) } 타겟을만들어내거나수행하기위해미리갖춰야하는조건. target 이어떤파일에종속적인가를지정 } 선행조건에해당하는파일이존재하는경우에는, 타겟파일이선행조건파일보다더최신일경우, 선행조건이만족한것으로판단함 } 레시피 (recipe) } 선행조건이만족될때 make 가수행할명령 } 리눅스명령어및쉘스크립트사용가능 } 각 command 앞은반드시 TAB 으로띄워줘야함 Young-Jin Kim

16 } Make 의규칙처리 } 규칙의처리는다음과같은딱 2 개의동작으로이루어짐 1. 선행조건이없거나모두만족되면, 레시피들을실행 2. 만족되지않은선행조건이있으면, 해당선행조건에해당하는규칙을찾아서처리한다음원래규칙을처리 (1) CC = gcc (2) OBJS = MySocket.o MyClient.o (3) TARGET = MyClient (4) (5).SUFFIXES :.c.o (6) (7) all : $(TARGET) (8) (9) $(TARGET): $(OBJS) (10) $(CC) -o $@ $(OBJS) (11) (12) clean : (13) rm -f $(OBJS) $(TARGET) 예제의 makefile 구조 : -(7) 의 all 은단순히 $(TARGET) 이라는선행조건만있고, 레시피는없음 -(9) 의 $(TARGET) 은, $(OBJS) 라는선행조건을가지고있고, (10) 의레시피하나를가지고있음 - (12) 의 clean 은선행조건없이하나의레시피를가지고있음 Young-Jin Kim

17 } Make 수행설명 } make 는 을읽어들여서, 변수들과규칙들을구성 } CC, LIBS, OBSJ, SRCS 그리고 TARGET 등의변수들, all, $(TARGET), clean 규칙들이정의됨 } 첫번째로만나는규칙, 즉, all 을처리 } all 은 $(TARGET) 이라는선행조건을가지는데, $(TARGET) 즉 MyClient 라는파일이존재하지않으므로, 이선행조건은만족되지않은것으로간주되고, make 는 $(TARGET) 규칙을찾아서이를먼저처리 } $(TARGET) 은다시 $(OBJS) 를선행조건으로가지므로같은방식으로 $(OBJS) 규칙을찾아처리 } $(OBJS) 는 MySocket.o MyClient.o 이며관련된규칙은 내에존재하지않음 } (5) 에서.SUFFIXES :.c.o 라고선언했기때문에, make 는확장자가.c.o 인파일들에대해서는별도의규칙이제공되지않는범위내에서, 자신이가지고있는확장자규칙을사용 } make 가가지고있는.c 와.o 확장자규칙은.c (C 소스파일 ) 를컴파일해서.o ( 목적파일 ) 를만들어내는레시피를가짐 } MySocket.o 가컴파일되고, 그결과로 $(TARGET) 의선행조건중 MySocket.o 는처리된것으로간주됨 } 마찬가지로, MyClient.o 도 MyClient.c 로부터컴파일됨 } 이제 $(OBJS) 에해당하는파일들이모두존재하므로, 결과적으로 $(TARGET) 의모든선행조건이만족되므로드디어 (9) 의 $(TARGET) 규칙의레시피가실행됨 } 2 개의목적파일들로부터최종타겟인 MyClient 를 linking 수행하여만들어냄 } 이제 all 의선행조건이만족되었으므로 all 의 recipe 수행함 } all 은아무런레시피를가지고있지않고, 여기에개입할만한내장규칙들도없기때문에, 드디어 make 는 all 의처리를완료하면서실행을종료함 $ make gcc -c -o MySocket.o MySocket.c gcc -c -o MyClient.o MyClient.c gcc -o MyClient MySocket.o MyClient.o Young-Jin Kim

18 } 주석및라인변경 } 빈라인은무시 } 라인에 # 이나오면그라인은무시 ( 주석 ) } 하나의라인이길어질경우 \ ( 역슬래시 ) 를추가하여라인은바꿀수있다. #all: test 무시 ( 주석 ) test : main.o foo.o bar.o gcc o test main.o \ 연결 foo.o \ 연결 bar.o main.o : io.h main.c gcc c main.c io.h 가변경되거나 main.c 내용이변경되면, 아래의레시피를수행한다. 즉, main.c 를컴파일하여 main.o 를만든다. foo.o : io.h foo.c gcc c foo.c bar.o : io.h bar.c gcc c bar.c Young-Jin Kim

19 } 매크로 (Macros) } make에서지원하는기능 } 일련의반복되는특정코드를간단하게표현 } Macro makes happy } 정해진 Macro } 미리정해놓은매크로들 } make p 확인가능 } CC = cc (=gcc) } CFLAGS = gcc 명령어의옵션세팅 } CXX = g++ } CPPFLAGS = g++ 명령어의옵션세팅 } LD = ld } LDLFAGS = ld 명령어의옵션세팅 Young-Jin Kim

20 } 매크로 (Macros) 사용법 } 매크로작성은등호 (=) 사용 } = 표시이후에아무런문자열이없는매크로정의에는 NULL 할당 } 작성된매크로를참고하기위해서는매크로앞에 $ 를붙여사용 } 기존매크로에내용을추가하기위해서는 += 와같은방식사용 } 일련의반복되는특정코드를간단하게표현 } 매크로정의순서는상관없음 } 같은이름의매크로는 makefile 내에서한번이상정의될수있으며이런경우맨마지막에정의한매크로만사용됨 Young-Jin Kim

21 } 매크로 (Macros) 사용법 } Command line( 명령행 ), makefile 내, 환경변수등에중복정의된경우에는다음의우선순위가적용된다. } 매크로적용우선순위 } 명령행에서정의한매크로 } 에서정의된매크로 } 현재쉘의환경변수 } make 내부에정의된매크로 Young-Jin Kim

22 } 매크로 (Macros) 사용법 } 명령행에서매크로 } make 명령행에서매크로정의가능 Target 을지정 $make test DIR=/usr/project } 명령행에서정의가여러단어들로구성되어있을경우해당부분을 나 로묶어주어야한다. $make test DIR=/usr/project/usr/project/lib } 매크로를 make 명령이전에정의가능 $ DIR=/usr/project make test Young-Jin Kim

23 } 매크로 (Macros) 사용법 } 내부매크로 (1) } 임의로설정해서사용할수없는매크로 } $* - 확장자가없는현재의목표파일 (Target) main.o : io.h main.c [TAB] gcc c $*.c ß $* = main } $< - 현재타켓보다최근에변경된현재필요항목의이름 ( 소스파일 ) main.o : io.h main.c [TAB] gcc c $< Young-Jin Kim

24 } 매크로 (Macros) 사용법 } 내부매크로 (2) } $@ - 현재타켓의이름 test : main.o foo.o bar.o [TAB] gcc o $@ $*.c ß $@ = test } $^ - 현재타겟보다최근에변경된필요항목들의리스트 test : main.o foo.o bar.o [TAB] gcc c $@ $^ Young-Jin Kim

25 } 확장자규칙 (Suffix Rule) } make가파일의확장자를보고, 그에따라적절한연산을수행시키는규칙 } 어떤확장자에대한규칙이정의되어있더라도,.SUFFIXES 리스트에도함께정의되어야효력이있다. } 오브젝트파일이존재하지않으면, make는이를작성하기위한.c,.s 소스파일을찾는다. } make는.suffixes 리스트의확장자순서에따라파일을검색한다. } 내부에미리정의되어있는확장자리스트.SUFFIXES:.out.a.ln.o.c.cc.C.cpp.p.f.F.r.y.l.s.S.mod.sym.def.h.info.dvi.tex.texinfo.texi.txinfo.w.ch.web.sh.elc.el Young-Jin Kim

26 } 확장자규칙 (Suffix Rule).c.o: [TAB] $(CC) c $< -o $@ } 확장자규칙에의해서 make 는파일들간의확장자를자동으로인식해서필요한작업을수행 } 확장자가.c 파일은컴파일되어확장자가.o 파일로됨 Young-Jin Kim

27 } 예제 io.h main.c foo.c bar.c main.o foo.o bar.o test Young-Jin Kim

28 } 예제 SRCS 에서는 OBJS 에서.o 가.c 로바뀌게된다. 다음과같이변경되는것이다. SRCS = main.c read.c write.c 매크로와확장자규칙사용 매크로와확장자규칙비사용 all: test test : main.o foo.o bar.o gcc o test main.o foo.o bar.o main.o : io.h main.c gcc c main.c foo.o : io.h foo.c gcc c foo.c bar.o : io.h bar.c gcc c bar.c CC = gcc CFLAGS = -O2 -g OBJS = main.o foo.o bar.o SRCS = $(OBJS:.o=.c) TARGET = test all: $(TARGET) $(TARGET) : $(OBJS) $(CC) -o $@ $(OBJS) dep: gccmakedep $(SRCS) clean : rm -f $(OBJS) $(TARGET) } 좀더읽을거리 : Young-Jin Kim

29 } include } 에서 include 가사용되면, 현재읽고있는 makefile 의 reading 잠시중단하고 include 된 makefile 을 reading 함 } 사용법 } include file_name } include a.mk b.mk c.mk à listed file 이순차적으로 reading 됨 } 해당경로에 makefile 이없을경우, warning message 발생 } 을모두 reading 하고 remake 시도후실패화면 error message 발생 } Include 는반드시줄의처음에서시작해야하면다음에공백문자혹은탭문자가나와야한다. Include 앞에공백이나탭이있어서는안된다. } Include 의효과는 file_name 의모든행을현재의 로옮겨적는것과동일 Young-Jin Kim

30 } 헤더파일의존성관계 } make 는소스에숨겨져있는의존관계를살펴보기위해파일의내부를들여다볼수없다. } #include 지시자가소스파일에있는지알수있는방법이없으므로, 헤더파일이변경되었을경우, 다시오브젝트파일을생성할방법이없다. } 이러한한계를극복하기위하여대부분 에서는의존관계를직접지정한다 Young-Jin Kim

31 } 헤더파일의존성관계 } 헤더파일의존성관계생성 } GNU 컴파일어 (gcc) 에서제공하고있는 M 옵션을이용하게되면, 의존파일의리스트를만들어낼수있게된다. gcc M $(SRCS) >.depend } 의존관계를만들고 include문을통하여.depend 파일을 에 include 시킨다. Include.depend } gcc를사용하는경우, gccmakedep 명령을이용하면의존관계를쉽게만들어낼수있다. (gccmakedep를사용하기위해서는 xutils-dev 설치필요 ) Young-Jin Kim

32 } 프로젝트관리 } 재귀적 (recursive) make } 대부분의프로젝트에서는여러개의소스파일을계층구조의디렉토리에넣어두고 make 에서사용할수있도록한다. } 각하위디렉토리에별도의 makefile 을두고최상위 makefile 에서 이들 make 를재귀적으로실행하여연결한다. Make C <DIR> Young-Jin Kim

33 } 재귀적 make 예제 subsystem: cd subdir; $(MAKE) # (1) #subsystem: $(MAKE) -C subdir # (2) # (1) 과 (2) 는동일한명령을수행 # 우리가만들시스템의타겟이 subsystem # 우선 subdir 이라는곳으로가서, 거기에있는 # 을동작시키게된다. MAKE 라는것 # 은그냥 make 라는명령어를표시하는매크 # 로일뿐이다. SUFFIXES :.c.o CC = gcc CFLAGS = -O2 g all : DataBase Test #<- 요기에집중 DataBase: cd db ; $(MAKE) # db 로이동해서 make 실행 Test: cd test ; $(Make) # db 로이동해서 make 실행 Make 실행화면 $make cd db ; make make[1]: Entering directory`/home/raxis/test/src gcc -O2 -g -c DBopen.c -o DBopen.o gcc -O2 -g -c DBread.c -o DBread.o gcc -O2 -g -c DBwrite.c -o DBwrite.o make[1]: Leaving directory `/home/windows/test/src cd test ; make make[1]: Entering directory `/home/raxis/test/test gcc -O2 -g -c test.c -o test.o make[1]: Leaving directory `/home/windows/test/test' 여기서, make 뒤의대괄호의 1 이라고나타난것은현재의레벨을의미한다. 원래디렉토리의레벨이 0 이고, 여기서는레벨이하나더내려갔으므로 1 이라고표시된것이다 Young-Jin Kim

34 } 프로젝트관리 } 컴파일러옵션과 #ifdef 지시자 } #ifdef 나 ifndef 와같은전처리지시자를사용하는조건부컴파일은소프트웨어발전과함께불가피한선택이되고있음 [Makeflie 의내용 ] CFLAGS = -DTEST [Source Code 의내용 ] #ifdef TEST test_print(); #endif } Make 파일이름지정 } -f 옵션을사용하여원하는이름의입력파일을지정할수있음 make f./test.mk } -f 옵션이없으면, make 는 GNUmakefile, makefile 및 의순서로입력을찾음 ( 입력파일로위해서 을사용하는것을추천 ) Young-Jin Kim

vi 사용법

vi 사용법 본강의들어가기전 vi 사용법 UNIX/LINUX 의문서편집기 ed 오래된유닉스표준라인텍스트편집기 ex 유닉스표준라인텍스트편집기 emacs gmacs Emacs 편집기 Emacs 편집기 vi 유닉스표준화면편집기 view vi 와같음, 읽기전용모드 vi 편집기시작하기 터미널환경맞추기 set term=vt100 // 터미널을 vt100으로설정 tset // 터미널초기화

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

Microsoft PowerPoint - u4.pptx

Microsoft PowerPoint - u4.pptx 4.1 텍스트편집기 (text editor) 4. 파일편집기 텍스트편집기종류 라인편집기 (line editor) (1) ed : original line editor, 명령어방식 (2) ex : ed 의개선된버전 화면편집기 (screen editor) (1) vi : visual screen editor (original UNIX screen editor)

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Development Environment 2 Jo, Heeseung make make Definition make is utility to maintain groups of programs Object If some file is modified, make detects it and update files related with modified one It

More information

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4> 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 통합개발환경 통합개발환경 (IDE: integrated development environment) 에디터 + 컴파일러 + 디버거 Visual C++: 이클립스 (eclipse): Dev-C++: 마이크로소프트제작 오픈소스프로젝트 오픈소스프로젝트 통합개발환경의종류 비주얼 C++(Visual C++)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 DEVELOPMENT ENVIRONMENT 2 MAKE Jo, Heeseung MAKE Definition make is utility to maintain groups of programs Object If some file is modified, make detects it and update files related with modified one 2

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

작성자 : 기술지원부 김 삼 수

작성자 : 기술지원부 김 삼 수 작성자 : 기술지원부김삼수 qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. (

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - chap-02.pptx 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초 프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2 프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o

More information

Abstract View of System Components

Abstract View of System Components Operating System 3 주차 - About Linux - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr yschoi@rtcc.hanyang.ac.kr shpark@rtcc.hanyang.ac.kr Contents Linux Shell Command

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

임베디드리눅스기초

임베디드리눅스기초 Linux Basic Ø File and directories Ø Access Permissions Ø Links Ø Linux s Ø VI editor 147 File and directories Ø Linux File Name 명명규칙 Ø 256 characters 까지허용 Ø 공백사용허용 Ø 파일확장자와관련된규칙은없음. Ø 숨김파일 Ø 기본적으로 directory

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 WEB SERVER PORTING 1 Jo, Heeseung 웹서버포팅 HBE-SM5-S4210 를임베디드웹서버로사용할수있도록웹서버를올리는작업 임베디드서버에널리쓰이는웹서버들중 GoAhead 라는웹서버를포팅 CGI 프로그램을이용하여웹에서 HBE-SM5-S4210 의 LED, 7- Segment, TextLCD 를제어실습 2 Goahead webserver 소스를다운받거나제공된

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.

More information

Computer Programming (2008 Fall)

Computer Programming  (2008 Fall) Computer Programming Practice (2008 Fall) Practice 4 Unix/Linux 기본명령어 + vi Editor + Linux on Windows 2012. 1 2 2/27 Contents Unix/Linux Supplementary Commands File compression and backup Secure Shell File

More information

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - chap-02.pptx 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초 프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2 프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드] System Programming Lab Week 1: Basic Skills for Practice Contents vi Editor 사용법 GCC 컴파일러사용법 Makefile 사용법 GDB 사용법 VI Editor Usage vi 모드 입력모드 : 실제문서를편집하는모드. 명령모드 : 키입력이바로명령이되는모드로서쓴내용을삭제하거나, 복사할때사용. ex 명령모드

More information

Microsoft PowerPoint UNIX Shell.ppt

Microsoft PowerPoint UNIX Shell.ppt 컴퓨터특강 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 Shell? Shell이란명령어해석기 (Command Processor or Command Interpreter): 사용자가입력하는명령을읽고해석하는프로그램프로그래밍언어 : Shell이해석할수있는스크립트 (shell script) 라는프로그램을작성유닉스를사용하는데있어주요한인터페이스 Page 2 1 Shell

More information

로봇SW교육원 강의자료

로봇SW교육원 강의자료 UNIT 05 make 광운대학교로봇 SW 교육원 최상훈 학습목표 2 Makefile 을작성핛수있다. make 3 make 프로젝트관리유틸리티 컴파일시갂단축 파일의종속구조를빠르게파악핛수있음 기술파일 (Makefile) 에기술된대로컴파일명령또는셸 (shell) 명령을순차적으로수행 make 를사용하지않을경우 $ gcc c main.c $ gcc c test_a.c

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 15 고급프로그램을 만들기위한 C... 1. main( ) 함수의숨겨진이야기 2. 헤더파일 3. 전처리문과예약어 1. main( ) 함수의숨겨진이야기 main( ) 함수의매개변수 [ 기본 14-1] main( ) 함수에매개변수를사용한예 1 01 #include 02 03 int main(int argc, char* argv[])

More information

Microsoft PowerPoint UNIX Shell.pptx

Microsoft PowerPoint UNIX Shell.pptx UNIX SHELL 문양세강원대학교 IT 특성화대학컴퓨터과학전공 Shell? Shell 이란명령어해석기 (Command Processor or Command Interpreter): 사용자가입력하는명령을읽고해석하는프로그램 프로그래밍언어 : Shell 이해석할수있는스크립트 (shell script) 라는프로그램을작성 유닉스를사용하는데있어주요한인터페이스 Page

More information

초보자를 위한 C++

초보자를 위한 C++ C++. 24,,,,, C++ C++.,..,., ( ). /. ( 4 ) ( ).. C++., C++ C++. C++., 24 C++. C? C++ C C, C++ (Stroustrup) C++, C C++. C. C 24.,. C. C+ +?. X C++.. COBOL COBOL COBOL., C++. Java C# C++, C++. C++. Java C#

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 LINUX EXERCISE Jo, Heeseung 실습 : VMWARE 설치 실습목표 Vmware 를설치 결과화면 2 가상머신의겉모양 가상머신이생성된화면 3 실습 : 가상머신생성 실습목표 앞으로계속사용할가상머신을생성 가상머신이생성된결과화면 네트워크는반드시 "Vmnet8(NAT)" 로지정 4 실습 : LINUX ISO 파일다운로드 실습목표 인터넷에서 Linux

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 오픈소스소프트웨어개발입문 (CP33992) Linux 명령어사용법 부산대학교공과대학정보컴퓨터공학부 학습목표 리눅스시스템에서프로그래밍을개발하는데유용한다양한유닉스 쉘명령어사용법을알수있다. 2 C 프로그래밍기초연습 아래의프로그램을 vi 로작성하시오 $ vi myprog.c #include int main() { printf( Hello Linux\n

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - lab14.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver

More information

/chroot/lib/ /chroot/etc/

/chroot/lib/ /chroot/etc/ 구축 환경 VirtualBox - Fedora 15 (kernel : 2.6.40.4-5.fc15.i686.PAE) 작동 원리 chroot유저 ssh 접속 -> 접속유저의 홈디렉토리 밑.ssh의 rc 파일 실행 -> daemonstart실행 -> daemon 작동 -> 접속 유저만의 Jail 디렉토리 생성 -> 접속 유저의.bashrc 의 chroot 명령어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Practice 02. Linux Biointelligence Laboratory School of Computer Science and Engineering Seoul National University http://bi.snu.ac.kr Linux 핀란드헬싱키대학의학생이었던리누스토르발스 (Linus Torvalds) 라는사람이 1991 년에취미삼아만들었던미닉스터미널에뮬레이터가그시초이다.

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도 1. 도구개요 소개 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도하는방향으로 정확히작동하는지검증할수있도록하는 Unit test Library Framework. 주요기능 C++ 프로그램의 unit testing

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 사용자계정관리 운영체제실습 목차 Ⅲ. 사용자계정관리 4.1 사용자계정관리 4.2 그룹관리 4.3 사용자계정관련파일 4.4 패스워드관리 4.5 사용자신분확인 4.1 사용자계정관리 사용자생성관련명령어 사용자생성 : useradd / adduser 사용자삭제 : userdel 사용자정보변경 : usermod 패스워드설정및변경 : passwd 그룹생성관련명령어 group

More information

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap12-고급기능.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor 19. 전처리와분할컴파일 순천향대학교컴퓨터학부이상정 1 학습내용 전처리명령어 #include #define 기호상수 const 분할컴파일 순천향대학교컴퓨터학부이상정 2 전처리과정 전처리 (preprocessor) 전처리명령어는 # 기호로시작 #incldue #define 순천향대학교컴퓨터학부이상정 3 #include (1) 지정된파일을프로그램에삽입 꺽쇠괄호는포함할파일을컴파일러에설정되어있는특정디렉토리에서검색

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Abstract View of System Components

Abstract View of System Components Operating System 4 주차 - System Call Implementation - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr yschoi@rtcc.hanyang.ac.kr shpark@rtcc.hanyang.ac.kr Contents

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 04 전처리와입출력 목차 1. 전처리 2. 출력함수 printf() 3. 입력함수 scanf() 3 1. 전처리 전처리개요 전처리기역할 컴파일 compile 전에전처리기 preprocessor 의전처리 preprocess 과정이필요 결과인전처리출력파일을만들어컴파일러에게보내는작업을수행 전처리지시자preprocess

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 1 Jo, Heeseung 웹서버포팅 HBE-SM5-S4210 를임베디드웹서버로사용할수있도록웹서버를올리는작업 임베디드서버에널리쓰이는웹서버들중 GoAhead 라는웹서버를포팅 CGI 프로그램을이용하여웹에서 HBE-SM5-S4210 의 LED, 7- Segment, TextLCD 를제어실습 2 Goahead webserver 소스를다운받거나제공된

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

gyuha.com/doku/doku.php?id=vim:vim_%EB%AA%85%EB%A0%B9%EC

gyuha.com/doku/doku.php?id=vim:vim_%EB%AA%85%EB%A0%B9%EC VIM 명령어정리 1. 저장및종료 명령어 설명 :w 저장 :w file.txt file.txt 파일로저장 :w» file.txt file.tx파일에덧붙여서저장 :q vi 종료 :q! vi 강제종료 ZZ 저장후종료 :wq! 강제저장후종료 :e file.txt file.txt파일을불러옴 :e 현재파일을불러옴 :e# 바로이전에열었던파일을불러옴 2. 입력모드전환 a

More information

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수있다. 학습내용 1 : 현재디렉토리확인 1. 홈디렉토리 - 로그인을한후, 사용자가기본으로놓이게되는디렉토리위치를홈디렉토리 (home directory)

More information

Microsoft PowerPoint - chap08-1 [호환 모드]

Microsoft PowerPoint - chap08-1 [호환 모드] 2011-1 학기프로그래밍입문 (1) 참고자료 : chapter 8-1. 전처리 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 전처리명령어 컴파일과정에는전처리 (preprocessing) 단계가있다. - 컴파일러는목적파일을만들기전에전처리라고하는특별한작업을

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt 산업공학과를위한 프로그래밍입문 (w/ 파이썬 ) PART II : Python 활용 가천대학교 산업경영공학과 최성철교수 간단한파일다루기 [ 생각해보기 ] 우리는어떻게프로그램을시작하나? 보통은이렇게생긴아이콘을누른다! 그러나실제로는아이콘이아닌 실행파일 을실행시키는것아이콘을클릭하고오른쪽마우스클릭 속성 을선택해볼것 [ 생각해보기 ] 옆과같은화면이나올것이다대상에있는

More information

vi 사용법

vi 사용법 유닉스프로그래밍및실습 gdb 사용법 fprintf 이용 단순디버깅 확인하고자하는코드부분에 fprintf(stderr, ) 를이용하여그지점까지도달했는지여부와관심있는변수의값을확인 여러유형의단순한문제를확인할수있음 그러나자세히살펴보기위해서는디버깅툴필요 int main(void) { int count; long large_no; double real_no; init_vars();

More information

Linux SHELL

Linux SHELL Linux SHELL SHELL? 리눅스는크게커널, 쉘, 사용자프로그램으로분류 커널은운영체제의핵심으로서메모리나프로세서등을관리하며시스템을제어하는역할을함 사용자프로그램은일반적으로사용하는 SSH, FTP, HTTP 등의프로그램등을말함 쉘은커널과직접적으로연결되어사용자가프로그램에서실행시킨명령어를해석하여그결과를커널로보내는역할을함 ( 명령어해석기 ) 다양한종류가있으며사용자의활용도와사용목적에따라각각에맞는쉘을선택해서사용할수있음

More information

Linux SHELL

Linux SHELL Linux SHELL SHELL? 리눅스는크게커널, 쉘, 사용자프로그램으로분류 커널은운영체제의핵심으로서메모리나프로세서등을관리하며시스템을제어하는역할을함 사용자프로그램은일반적으로사용하는 SSH, FTP, HTTP 등의프로그램등을말함 쉘은커널과직접적으로연결되어사용자가프로그램에서실행시킨명령어를해석하여그결과를커널로보내는역할을함 ( 명령어해석기 ) 다양한종류가있으며사용자의활용도와사용목적에따라각각에맞는쉘을선택해서사용할수있음

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

Microsoft PowerPoint - chap08.ppt

Microsoft PowerPoint - chap08.ppt 2010-1 학기프로그래밍입문 (1) 8 장전처리기 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 0 전처리기 C 언어는전처리기를사용하여그능력과표기법을확장함 # 으로시작하는행을전처리지시자라고함 #include #define #if #error ANSI C 에서 # 은여백문자다음에올수있지만, 전통적인 C 에서는첫번째열에 # 이와야만함

More information

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU

More information

Microsoft PowerPoint - ch 전처리기, 다중 소스파일 pm1015

Microsoft PowerPoint - ch 전처리기, 다중 소스파일 pm1015 2015-1 11-1. 전처리기, 다중소스파일 2015 년 5 월 11 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 전처리기 (preprocessor) 다중소스파일 헤더파일 함수소스파일

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Sensor Device Jo, Heeseung Sensor 실습 HBE-SM5-S4210 에는근접 / 가속도 / 컴파스센서가장착 각센서들을사용하기위한디바이스드라이버와어플리케이션을작성 2 근접 (Proximity) 센서 HBE-SM5-S4210 Camera Module 근접센서디바이스 근접센서는사물이다른사물에접촉되기이전에가까이접근하였는지를검출할목적으로사용 일반적으로생활에서자동문이나엘리베이터,

More information

Microsoft PowerPoint - Chapter_01.pptx

Microsoft PowerPoint - Chapter_01.pptx 프로그래밍 1 1 Chapter 1. A Tutorial Introduction March, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 컴퓨터구조를이해한다. 하드웨어와소프트웨어를이해한다. 개발환경에대한이해 C 프로그램을컴파일하는방법을이해한다.

More information

망고100 보드로 놀아보자-5

망고100 보드로 놀아보자-5 망고 100 보드로놀아보자 -6 U-boot build 환경분석 U-boot build 환경분석 Board/$(Vendor)/$(BOARD)/Config.mk 파일분석 (U-boot 가실행하는주소정의 ) ifndeftext_base //TEXT_BASE = 0xc7e00000 :MMU 사용 TEXT_BASE = 0x2fe00000 # Physical Address

More information

Microsoft PowerPoint - 06_(Linux)_(Fundamental)_C_Programming

Microsoft PowerPoint - 06_(Linux)_(Fundamental)_C_Programming GNU/Linux 리눅스 C 프로그래밍 (Linux C programming) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 GNU 프로젝트 LLVM 프로젝트 2 GNU 프로젝트 GNU 프로젝트 GCC GDB GNU make LLVM 프로젝트 3 GNU 프로젝트 GCC (GNU Compiler Collection) 4

More information

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770>

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770> Windows 환경에서의 OpenSSL 설치 (Visual Studio 에서 OpenSSL 라이브러리사용하기 ) 문서최초작성일 : 2007-06-21 < Ver 0.1 > 문서작성자 : 정은석이메일주소 : EunSeok.Jeong@Gmail.com 본설치매뉴얼은 Windows 플랫폼상에서 OpenSSL를어떻게설치하고 Visual Studio에서이라이브러리를어떻게사용하는지알려주기위하여작성하였습니다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE & Visual C++ 2010 Professional Edition 개발가이드 2014. 04 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record

More information

슬라이드 제목 없음

슬라이드 제목 없음 < > Target cross compiler Target code Target Software Development Kit (SDK) T-Appl T-Appl T-VM Cross downloader Cross debugger Case 1) Serial line Case 2) LAN line LAN line T-OS Target debugger Host System

More information

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 시스템호출개요 리눅스에서는사용자공간과커널공간을구분 사용자프로그램은사용자모드, 운영체제는커널모드에서수행 커널공간에대한접근은커널 ( 특권, priviledged) 모드에서가능 컴퓨팅자원 (CPU, memory, I/O 등 ) 을안전하게보호 커널수행을안전하게유지

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 본강의에들어가기전 토론주제 과학 (Science)/ 공학 (Engineering) 일반화 (Generalization)/ 특별화 (Specialization) 아마추어 (Amateur)/ 프로페셔널 (Professional) 하드웨어 (hardware)/ 소프트웨어 (software) 프로그래밍언어 인터프리터 (interpreter)/ 컴파일러

More information

Microsoft PowerPoint - 15-4-EmbedSW-Host

Microsoft PowerPoint - 15-4-EmbedSW-Host 4. Gcc 컴파일 환경 Make 유틸리티 ELF 실행 파일 네트워크 환경 순천향대학교 컴퓨터공학과 이 상 정 1 Gcc 컴파일 환경 순천향대학교 컴퓨터공학과 이 상 정 2 Gcc 컴파일러 소개 GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC) 리처드 스톨만이 1987년 GNU 프로젝트의 일환으로 개발된 컴파일 러 원래 C만을

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D> 쉘 (Shell) 환경 운영체제실습 목차 Ⅴ. 쉘 (shell) 환경 5.1 쉘 (shell) 이란? 5.2 쉘 (shell) 기능 5.3 쉘 (shell) 변수 5.4 기타기능 5.5 쉘 (shell) 프로그래밍 5.1 쉘 (shell) 이란? 쉘 (Shell) 사용자가입력한명령어를해석해주는명령어해석기 (Command interpreter) 사용자와운영체제

More information

C언어 및 실습 C Language and Practice

C언어 및 실습  C Language and Practice C언어 및 실습 C Language and Practice Chap. 2 : 변수의 영역 동국대학교 멀티미디어공학과 Young-Sik Jeong C 언어메모리구조 지역변수들이저장되는곳. 정확히는지역변수와그에따른환경이같이저장된다. 복귀주소와호출함수의환경이저장된다. 동적기억장소를위한공간. 프로그램이실행되는중간에필요에의해서할당받는메모리영역을통칭한다. 크기가정해져있지않고유동적이다.

More information

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

More information

Microsoft Word - Network Programming_01.docx

Microsoft Word - Network Programming_01.docx 1. Environment 4/35 1. Environment 본장에서는기본적으로네트워크프로그래밍을수행하기위한기본적인환경을구축하는실습을다루도록하겠다. 본실습에서는기본적으로프로그래밍플랫폼인리눅스의서비스중하나인 Samba Server와프로그래밍을구조적으로할수있게도와주는 Source Insight를사용하는방법을다루도록한다. 1.1 Samba Server 를통한 Linux

More information

슬라이드 1

슬라이드 1 Gradle 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 특징 Gradle (http://www.gradle.org) 소프트웨어빌드자동화도구 라이선스 Apache License v2.0 Gradle 을통해소프트웨어패키지나프로젝트의빌드, 테스팅, 퍼블리슁, 배포등을자동화할수있다. Ant 의유연성과기능을

More information

오빠두엑셀 E-Book [VBA 1-7] VBA Method 란무엇인가 >> VBA 개체 Method ( 함수 ) Copyright 2018 by 오빠두 0

오빠두엑셀 E-Book [VBA 1-7] VBA Method 란무엇인가   >> VBA 개체 Method ( 함수 ) Copyright 2018 by 오빠두 0 >> VBA 개체 Method ( 함수 ) Copyright 2018 by 오빠두 0 1. VBA 에서 Method( 함수 ) 란무엇인가? VBA 기초강의잘따라오고계시나요? 이전강의까지개체 (Object) 를자동차에, 속성 (Property) 을자동차의속성에비유하였습니다. 그럼함수 (Method) 는무엇일까요? 개체 (Object:= 자동차 ) 가무엇인지속성

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 03 일단짜보는그럴듯한 C 프로그램... 1. 프로그램작성순서복습 2. 주석 3. scanf_s( ) 맛보기 1. 프로그램작성순서복습 프로그래밍작성순서요약 프로젝트만들기 : 소스파일보다프로젝트를먼저생성해야함 코딩 : C 컴파일러가알아들을수있는형식으로문서작성 빌드 : 컴파일과링크를합친개념 컴파일 : 소스를컴퓨터가이해하는오브젝트파일로변환 링크 :

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

Microsoft PowerPoint - 08_(C_Programming)_(Korean)_Preprocessing

Microsoft PowerPoint - 08_(C_Programming)_(Korean)_Preprocessing C Programming 전처리 (Preprocessing) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 C 전처리기 조건및분할컴파일 2 C 전처리기 C 전처리기 매크로상수 매크로함수 조건및분할컴파일 3 전처리 (Preprocessing) C 전처리기 (1/3) 원시소스파일을컴파일하기전에행해야할일련의작업 외부파일포함기능

More information

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F> 2014-1 C/C++ 프로그래밍작성과정, Visual Studio 2014. 3. 5. 교수김영탁 영남대학교공과대학 정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 통합개발환경 Visual C++ 를이용한프로그램작성

More information