PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

vi 사용법

강의10

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

gdb 사용법 Debugging Debug라는말은 bug를없앤다는말이다. Bug란, 컴퓨터프로그램상의논리적오류를말하며, 이것을찾아해결하는과정이바로, debugging이다. 초기컴퓨터들은실제벌레가컴퓨터에들어가서오작동을일으키는경우가있었다고하며, 여기서 debug 이라는말이

PowerPoint 프레젠테이션

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

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


PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

컴파일러

본 강의에 들어가기 전

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

PowerPoint 프레젠테이션

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

untitled

PowerPoint 프레젠테이션

Microsoft PowerPoint - [2009] 02.pptx

슬라이드 1

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

vi 사용법

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Microsoft PowerPoint - chap12-고급기능.pptx

歯9장.PDF

C 언어 프로그래밊 과제 풀이

C++-¿Ïº®Çؼ³10Àå


중간고사

untitled

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

<B1E2BCFAB9AEBCAD5FB9DABAB4B1D45F F F64746F72732E687770>

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다. / /bin/ /home/ /home/taesoo/ /home/taesoo/downloads /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자 (t

Microsoft PowerPoint - chap05-제어문.pptx

Lab 3. 실습문제 (Single linked list)_해답.hwp

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

02 C h a p t e r Java

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

歯7장.PDF

Microsoft PowerPoint - lab14.pptx

KEY 디바이스 드라이버

chap7.PDF

chap7.key

로봇SW교육원 강의자료

11장 포인터

Infinity(∞) Strategy

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

商用

BMP 파일 처리

Microsoft PowerPoint - chap10-함수의활용.pptx

untitled

hlogin2

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

Solaris Express Developer Edition

Chapter_02-3_NativeApp

PowerPoint 프레젠테이션

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>


MPLAB C18 C

untitled

슬라이드 1

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Microsoft PowerPoint - chap03-변수와데이터형.pptx

ABC 11장

6주차.key

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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

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

Microsoft PowerPoint oshw1.ppt [호환 모드]

/chroot/lib/ /chroot/etc/

chap8.PDF

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap6 [호환 모드]

많이 이용하는 라면,햄버그,과자,탄산음료등은 무서운 병을 유발하고 비만의 원인 식품 이다. 8,등겨에 흘려 보낸 영양을 되 찾을 수 있다. 도정과정에서 등겨에 흘려 보낸 영양 많은 쌀눈과 쌀껍질의 영양을 등겨를 물에 우러나게하여 장시간 물에 담가 두어 영양을 되 찾는다

슬라이드 제목 없음

Microsoft PowerPoint - chap11-포인터의활용.pptx

untitled

Interstage5 SOAP서비스 설정 가이드

Microsoft PowerPoint oshw1&2.ppt [호환 모드]

Microsoft PowerPoint - Chapter_09.pptx

PowerPoint 프레젠테이션

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

C 프로그래밊 개요

Transcription:

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 can use to command based programs 3

make basic rules 3 components Target, dependency, command File format File name: Makefile (makefile) Format target: dependency [tab] command 4

make example make 를사용하지않을때 gcc -c main.c gcc -c add.c gcc -c sub.c gcc -o test main.o add.o sub.o 혹은, gcc -o test main.c add.c sub.c 5

make example all: main.o add.o sub.o gcc -o test main.o add.o sub.o main.o: addsub.h main.c gcc -c main.c add.o: add.c gcc -c add.c sub.o: sub.c gcc -c sub.c 반드시 tab 으로입력 6

make example 어느때어떤 target 이다시컴파일될것인가? main.c가바뀌었을경우 add.c 혹은 sub.c가바뀌었을경우 addsub.h가바뀌었을경우 7

label clean: rm *.o test 레이블로사용될때는의존관계부분이없어도가능 실행방법 make clean 8

macro CC=gcc SRC=main.c add.c sub.c main: ${SRC} ${CC} -o test ${SRC} 9

미리정해져있는매크로 make -p 를통하여모든값들을확인가능 ASFLAGS = as 명령어의옵션세팅 - AS = as CFLAGS = gcc 의옵션세팅 - CC = cc (= gcc) CPPFLAGS = g++ 의옵션 - CXX = g++ LDLFAGS = ld 의옵션세팅 - LD = ld LFLAGS = lex 의옵션세팅 - LEX = lex YFLAGS = yacc 의옵션세팅 - YACC = yacc 10

Simple Makefile CFLAGS = -Wall -O -g bin=hello t1=main t2=funcs obj=$(t1).o $(t2).o all: $(bin) $(bin): $(obj) $(CC) $(obj) -o $@ clean: rm -f $(bin) *.o $(bin) 을나타내는내부변수 11

Ex: Makefile 작성 실습목표 앞서코딩한 99단프로그램을 build할수있는 Makefile 을작성 make all, make clean이정상적으로동작하는지확인 12

GNU DeBugger (GDB)

GDB 기본사용법 gcc 컴파일시 -g 옵션추가 (-O 옵션은제거 ) gdb 실행 gdb a.out gdb --args a.out 1 2 3 4 root@iter1:/tmp> gdb a.out GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: <http://bugs.launchpad.net/gdb-linaro/>... Reading symbols from /tmp/a.out...done. (gdb) 14

GDB 기본사용법 종료 q / ctrl+d 소스찾아가기 (list) l : main 함수를기점으로소스의내용이출력된다 l 10 : 10 행주변의소스가출력 l func : func 함수의소스를출력 l a.c:func : a.c 파일의 func 함수부분을출력 l a.c:10 : a.c 파일의 10행을기준으로출력 15

GDB 기본사용법 중단점사용하기 (breakpoint) b func : func 함수에브레이크포인트설정 b 10 : 10 행에브레이크포인트설정 b a.c:func : a.c 파일의 func 함수에브레이크포인트설정 b a.c:10 : a.c 파일의 10 행에브레이크포인트설정 b +2 : 현재행에서 2 개행이후지점에브레이크포인트설정 b -2 : 현재행에서 2 개행이전지점에브레이크포인트설정 b *0x8049000 : 0x8049000 주소에브레이크포인트설정 ( 어셈블리로디버깅시사용 ) b 10 if var == 0 : 10 행에브레이크포인트를설정해되, var 변수값이 0 일때작동 16

GDB 기본사용법 중단점삭제하기 (clear, delete) cl func : func 함수의시작부분에브레이크포인트지움 cl 10 : 10행의브레이크포인트지움 cl a.c:func : a.c 파일의 func함수의브레이크포인트지움 cl a.c:10 : a.c 파일의 10행의브레이크포인트지움 cl : 모든브레이크포인트지움 17

GDB 기본사용법 프로그램실행, 종료 (run, kill) r : 프로그램수행 ( 재시작 ) r arg1 arg2 : arg1과 arg2를인자로프로그램수행 k : 프로그램수행종료 역추적하기 (backtrace) bt : 오류가발생한함수를역으로찾아감 18

GDB 기본사용법 변수정보보기 (info, print) info locals : 현재상태에서어떤지역변수들이있으며, 값은어떠한지를알수있음 info variables : 현재상태에서의전역변수리스트를확인 p lval : lval 값을확인 p func : func 함수의주소값을확인 p pt : pt 가구조체라면구조체의주소를확인 p *pt : pt 가구조체라면구조체의값을확인 p **pt : *pt 가구조체라면구조체의값을확인 info registers : 레지스트값전체를한번에확인 19

GDB 기본사용법 디버깅하기 (step, next, continue, until, finish, return, step instruction, next instruction) s : 현재출력된행을수행하고멈추지만, 함수의경우함수의내부로들어가서수행 s 5 : s 를 5 번입력한것과동일 n : 현재행을수행하고멈추지만, 함수의경우함수를수행하고넘어감 n 5 : n 을 5 번입력한것과동일 c : 다음브레이크포인트를만날때까지계속수행 u : for 문에서빠져나와서다음브레이크포인트까지수행 20

Ex: gdb 실습목표 다음프로그램을정상적인결과값이나오도록 debugging 하시오 gcc -g -o a.out a.c # include <stdio.h> int main() { int i, num, j; printf ("Enter the number: "); scanf ("%d", &num ); for (i=1; i<num; i++) j=j*i; } printf("the factorial of %d is %d\n", num, j); 21

Ex: gdb 실습목표 다음프로그램은왜 segment fault 를만드는지설명하시오 gcc -g -o a.out a.c #include <stdio.h> void main() { char *temp = "Paras"; int i; i=0; temp[3]='f'; } for (i =0 ; i < 5 ; i++ ) printf("%c\n", temp[i]); 22

Ex: gdb 실습목표 다음프로그램은왜 segment fault 를만드는지설명하시오 gcc -g -o a.out a.c #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv) { char *buf; buf = malloc(1<<31); strcpy(buf, "This is Test"); printf("%s\n", buf); } return 1; 23

File transfer using WinSCP

WinSCP http://winscp.net ssh 를이용한파일전송 tool 25

WinSCP 26

Exercise Ex. 앞서제작한구구단프로그램의폴더를모두압축하여 Windows 로전송하자 tar cvfz gugu.tar.gz gugu zip -r gugu.zip gugu WinSCP 를이용하여다운로드 27