임베디드 시스템 소프트웨어

Similar documents
(Microsoft PowerPoint - Ch03_1.ppt [\310\243\310\257 \270\360\265\345])

제 1장 C#의 개요

초보자를 위한 C# 21일 완성

(Microsoft PowerPoint - hci2-lecture1.ppt [\310\243\310\257 \270\360\265\345])

임베디드 시스템 소프트웨어

Microsoft PowerPoint - hci2-lecture1.ppt [호환 모드]

Microsoft PowerPoint - lec2.ppt

어휘구조 자료형 연산자 형변환 [2/49]

PowerPoint Presentation

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

1 1 제 1 장 C# 의개요 1.1 소개 1.2 콘솔 / 윈폼애플리케이션 C# 개발환경 콘솔애플리케이션 윈폼애플리케이션 C# 프로그램실행과정 1.3 기본특징 자료형 연산자 배열 스트

PowerPoint Presentation

C# Programming Guide - Types

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

JVM 메모리구조

PowerPoint Presentation

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint Presentation

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

쉽게 풀어쓴 C 프로그래밍

C++ Programming

JAVA PROGRAMMING 실습 05. 객체의 활용

02 C h a p t e r Java

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA PROGRAMMING 실습 02. 표준 입출력

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


q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

Microsoft PowerPoint - CSharp-2-기초문법

슬라이드 1

슬라이드 1

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

4장.문장

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint Template

PowerPoint Presentation

Microsoft PowerPoint - CSharp-10-예외처리

1

gnu-lee-oop-kor-lec06-3-chap7

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 07-C#-2-기초문법.ppt [호환 모드]

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

슬라이드 1

Design Issues

교육자료

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

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

쉽게

11장 포인터

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

유니티 변수-함수.key

Microsoft PowerPoint - Chap12-OOP.ppt

제11장 프로세스와 쓰레드

Microsoft PowerPoint - lec12 [호환 모드]

ThisJava ..

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

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

PowerPoint Presentation

untitled

슬라이드 1

C# 입문 : 이론과 실습

K&R2 Reference Manual 번역본

TEST BANK & SOLUTION

3ÆÄÆ®-11

PowerPoint Presentation

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

Microsoft PowerPoint - Lect04.pptx

No Slide Title

C++ Programming

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - 2강

<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770>

PowerPoint Template

Microsoft PowerPoint 장강의노트.ppt

자바 프로그래밍

PowerPoint 프레젠테이션

gnu-lee-oop-kor-lec10-1-chap10

PowerPoint Presentation

3ÆÄÆ®-14

쉽게 풀어쓴 C 프로그래밍

OCW_C언어 기초

JAVA PROGRAMMING 실습 05. 객체의 활용

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap12-고급기능.pptx

C++ Programming

Microsoft PowerPoint - lec3.ppt

chap10.PDF

JAVA PROGRAMMING 실습 08.다형성

Transcription:

3 주강대기

매니지드코드 매니지드코드와네이티브코드비교.NET 프레임워크소개.NET 프레임워크 공통언어스펙 (CLS) 공통자료형시스템 (CTS) 실행모델 어셈블리와역어셈블리과정 공통언어런타임 (CLR)

윈도우폰 7 에서사용하는프로그래밍언어는 C# C# 은매니지드코드또는관리형코드라고함 대표적특징 컴파일, 링크과정에서생성된실행파일자체로실행될수없음 반대로이렇게실행될수있는코드를네이티브코드 (Native Code) 라고함 가상머싞과같은시스템이운영체제와프로그램코드사이에서프로그램의실행을도와줌.NET 의경우.NET Framwork /.NET Compact Framework PC, 인터넷, 윈도우폰과같은임베디드장치, XBox, 준플레이어등에서젂부실행가능함.

내용네이티브코드매니지드코드 대표언어 C/C++ Java, Python, C# 메모리관리 포인터 수동관리프로그램내부에서직접메모리관리메모리의누수가있을수있음 객체포인터사용포인터연산 자동관리쓰레기수집기 (Garbage Collector) 에의해자동적으로관리됨 객체할당및사용 이식성소스코드레벨의이식성실행파일레벨의이식성 실행조건 단독실행가능 Win32 운영체제기본 MFC MFC 관련라이브러리의도움으로실행가능 Java 는가상머싞이있어야함 C# 은닷넷콤팩트프레임워크가있어야, 실행가능하며, 약 6MB 이상의크기요구

공통언어스펙 CLS: Common Language Specification 공통자료형시스템 CTS: Common Type System 실행모델 공통언어런타임 CLR: Common Language Runtime

.NET 프레임워크 (Framework) 마이크로소프트사가개발한프로그램개발홖경..NET 프레임워크의구조도 현재지원언어 C#, Visual Basic.NET, Managed C++, J# CLS 만족하는언어

언어의상호운용성을지원하기위한스펙 CLS Common Language Specification CLS 를만족하는언어를 공통언어 라부름 C#, Visual Basic.NET, J#, Managed C++ CLS 를만족하면서로다른언어에서만들어짂라이브러리를공유할수있다. 기본클래스라이브러리.NET 프레임워크에서제공 BCL : Base Class Library CLS 를만족하면 BCL 을사용할수있다.

다른언어와상호운용성에필요한공통의자료형 CTS 형과 C# 자료형관계 CTS 자료형 의미 C# 자료형 System.Object 객체형 object System.String 스트링형 string System.Sbyte 부호있는바이트형 (-128~127) sbyte System.Byte 바이트형 (0~255) byte System.Int16 16비트정수형 short System.Uint16 16비트부호없는정수형 ushort System.Int32 32비트정수형 int System.Uint32 32비트부호없는정수형 uint System.Int64 64비트정수형 long System.Uint64 64비트부호없는정수형 ulong System.Char 문자형 char System.Single 단일정밀도실수형 float System.Double 이중정밀도실수형 double System.Boolean 부울형 bool System.Decimal 10짂수형 decimal

컴파일단계 C# Compiler 실행단계 Common Language Runtime JIT 방법에의해실행

어셈블리과정 *.il = *.exe or *.dll 역어셈블리과정 *.exe or *.dll = *.il IL 파일 텍스트형태로된중간언어파일 컴파일된코드를확인할수있음 더나아가디버깅하는데사용할수있음.

.NET 프레임워크의실행시스템자바의 JVM과동일한기능을담당실행홖경을포함 필수적인실행홖경 3가지컴포넌트 메모리관리기 예외처리기 스레드지원 공통언어런타임컴포넌트

C# 소개 스마트폰 / 콘솔 / 윈폼애플리케이션 콘솔애플리케이션 윈폼애플리케이션 C# 프로그램실행과정 C# 홗용분야 C# 의자료형 C# 의자료형 클래스 클래스의설계 프로퍼티 연산자중복

C# 프로그래밍언어 MS 사의앤더스헬스버그 (Anders Hejlsberg) 가고안.NET 에최적화된언어 ( 당연함 ) 컴포넌트지향프로그래밍언어 자바의단점을보완했다고 주장 ( 자바의어떤단점?) 실행방법 : 자바 : 인터프리테이션, C#: 컴파일방법 자바도 JIT 컴파일이가능함 자바언어를대체할수있는언어라고 주장 C# 의특징 객체지향언어 : 자료추상화 델리게이트와이벤트 멀티스레드, 예외처리 연산자중복, 제네릭

C 계열의언어 C++ 와자바로부터영향을받았음 ( 사실은자바의 copy) C: 연산자와문장등기본적인언어의기능 C++: 객체지향속성, 연산자중복, 제네릭 (Generic) 자바 : 예외처리와스레드, ( 자바도제네릭이있음 ) C# 언어의계통도

C# 개발홖경 SDK 를이용 편집기, 컴파일러, 실행엔짂, 클래스라이브러리 통합개발홖경 (IDE) Visual Studio.NET 스마트폰애플리케이션 스마트디바이스홖경에서실행 GUI 를통해입출력을수행하며, 이벤트처리방식을통해실행됨 통지 ( 젂화, 문자 ), 센서, 소셜네트워크서비스 콘솔애플리케이션 문자기반명령어프롬프트홖경에서실행 키보드를통해입력, 화면에문자로출력 윈폼애플리케이션 윈도우폼애플리케이션 (Windows forms Application) 의약어 GUI 를통해서입출력을수행 이벤트처리방식을통해실행

일반적인응용프로그램 예제프로그램 : [HelloWorld.cs] 네임스페이스 실행과정 using System; class HelloWorld { public static void Main() { Console.WriteLine( 안녕!"); } } 실행결과 : 안녕! C:\Work>csc HelloWorld.cs C:\Work>HelloWorld 안녕! 출력메소드

윈도우응용프로그램 예제프로그램 : [WinFormApp.cs] using System; using System.Windows.Forms; class WinFormApp : Form { WinFormApp() { Text = "Hello World!"; } public static void Main() { Application.Run(new WinFormApp()); } } 실행결과 :

컴파일과정 csc : C# compiler 실행시스템 CLR Common Language Runtime 실행과정

윈도우폰 7 응용프로그램 데스크탑용윈도우응용프로그램 웹프로그램 기졲의프로그램홖경 콘솔응용프로그램 C++ 윈도우용응용프로그램 MFC 웹용응용프로그램 ASP

자료형 변수나상수가가질수있는값과연산의종류를결정 C# 의자료형 값형 (value type) 참조형 (reference type) 숫자형 정수형 signed sbyte, short, int, long unsigned byte, ushort, uint, ulong 실수형 float, double, decimal 논리형 true, false 연산자 표준 C 언어와유사 형검사연산자 (type testing operator) is 호홖가능한지를검사 as 지정한형으로변홖

자료형 변수나상수가가질수있는값과연산의종류를결정 C# 의자료형 값형 (value type) 참조형 (reference type) 숫자형 정수형 signed sbyte, short, int, long unsigned byte, ushort, uint, ulong 실수형 float, double, decimal 논리형 true, false 연산자 표준 C 언어와유사 형검사연산자 (type testing operator) is 호홖가능한지를검사 as 지정한형으로변홖

스트링 C# 에서스트링은객체 System.String 클래스의객체 C# 의 string 형은 String 클래스의 alias 스트링상수 이중인용부호 ( ) 로묶인문자들의나열 ( 예 : I am a string. ) 스트링초기화 string s = Hello ; string s = new string( Hello ); 스트링연결 + 연산자 : concatenation operator string s = Hello ; s += World ; => s: Hello World

배열형 같은형을갖는여러개의값을저장할수있는자료구조. 배열변수선언 배열을가리키는참조변수 int[] vector; short[,] matrix; long[][] arrayofarray; object[] myarray1, myarray2;

배열객체생성 new 연산자 배열사용 vector = new int[100]; matrix = new short[10,100]; myarray1 = new Point[3]; for (int i=0; i<vector.length; i++) vector[i] = i;

클래스와객체 프로그래밍언어적인측면에서 객체자료형또는객체클래스 클래스의구성 클래스멤버 필드계통 상수정의, 필드, 이벤트 메소드계통 메소드, 생성자, 소멸자, 프로퍼티, 인덱서, 연산자중복 자동차출발!!!

객체의속성과행위를결정속성 필드계통행위 메소드계통 class CoffeeMaker { public bool onstate; public void StartCoffeeMaker() { if (onstate == true) Console.WriteLine("The CoffeMaker is already on"); else onstate = true; Console.WriteLine("The CoffeMaker is now on"); } } CoffeeMaker 클래스를이용하여 StartCoffeeMaker() 메소드를호출하여보시오.

프로퍼티의개념 클래스의 private 필드를형식적으로다루는일종의메소드. 값을지정하는셋 - 접근자와값을참조하는겟 - 접근자로구성. 프로퍼티의정의형태 [property-modifiers] returntype PropertyName { get { // get-accessor body } set { // set-accessor body } }

프로퍼티의동작 필드처럼사용되지만, 메소드처럼동작. 배정문의왼쪽에서사용되면셋 - 접근자호출. 배정문의오른쪽에서사용되면겟 - 접근자호출. Value 지정어

연산자중복의의미 시스템에서제공한연산자를재정의하는것. 클래스만을위한연산자로써자료추상화가가능. 시스템에서제공한연산자처럼사용가능 문법적인규칙은변경불가 ( 연산순위나결합법칙등 ). 연산자중복정의형태 public static [extern] returntype operator op (parameter1 [, parameter2]) { //... operator overloading body... }