본문 바로가기
코스웨어/11년 내장형하드웨어

[내장형]이영진_7월 19일 일일보고서

by 알 수 없는 사용자 2011. 7. 20.
728x90
반응형

1. TCP / IP talk 프로그램





서버측에서 exit를 입력하면 서버측 자식프로세스가 먼저 종료되고 시그널이 발생한다. 
시그널이 발생하면 시그널 처리함수가 실행되어 자식프로세스의 리턴값을 받고 부모프로세스도 종료된다. 
남은 클라이언트측은 아직 실행 되고 있다. 
클라이언트측도 마찬가지로 exit를 입력하면 자식프로세스가 소멸되면 부모프로세스도 같이 종료된다. 

2. 자바 (JAVA)




Package에 도메인네임을 거꾸로 적어 넣는다
Name에는 이름을 적는다
public static void main(String[] args)를 체크하면 자동으로 메인을 생성해준다 

<다음을 출력하세요> 
안녕하세요 자바!
반갑습니다. 내장형 하드웨어!
홍 
홍길 
홍길동 
3 + 5 = 8 
7 – 3 = 4 



리터럴(Liter)상수 - 메모리는 차지하지만 이름이 없어 리터럴상수라고 한다
자바에서는 System.out.println 을 사용하여 출력한다
System - 클래스
out - 객체
println - 출력

<다음을 출력하세요> 
1 ~ 100까지 합은 5050이다. 
for문 사용. 

[출력] 
5050 







<키보드로 부터 입력을 받는 ScannerTest Project >


Scanner input = new Scanner(System.in); 을 사용하여 키보드 입력을 설정한다
Scanner - 클래스
input - 객체
new - heap영역 할당
Scanner(System.in) - 키보드 입력

<다음을 출력하세요>
[입력] 

4
[출력] 
3 + 4 = 7 




<다음을 출력하세요> 
[입력] 
입력값: 


[출력] 
3 + 5 = 8 
3 – 5 = –2 
3 * 5 = 15 
3 / 5 = 0.6    (double) 사용







Java에서는 char는 2byte를 나타낸다
 

저장클래스



저장 클래스(Storage Class - 분류)
 
C 언어에서 변수와 함수는 저장 클래스를 가진다. 저장 클래스는 변수와 함수의 지속기간(duration) 유효범위(scope)를 명시해 준다. 저장 클래스의 설정이유는 변수와 함수에 지속기간과 유효범위를 부여함으로써 메모리를 효율적으로 사용하고 프로그래밍 오류를 줄이기 위해서이다. 저장 클래스에는 auto, register, static, extern의 네 가지가 있다.


지속기간

- 지속기간은 프로그램의 실행 중에서 시간상으로 존재하는 기간을 말한다.
 

*auto 클래스는 가장 많이 사용되는 것으로 함수 내에서 저장 클래스를 
명시하지 않고 사용되는 변수들이다.
*auto 클래스의 변수는 함수 내에서 선언되어 함수가 실행을 시작할 때 
생성되어 함수가 실행을 종료되면 소멸된다.

*register 클래스는 컴파일러가 CPU의 레지스터 중 하나를 이 변수로 
사용하게 한다. 따라서 register 변수의 크기는 register의 크기보다 클 수 없다.
*또 레지스터의 숫자가 작으므로 프로그램 내에서 register로 선언된 
변수라도 컴파일러가 레지스터를 배정하지 않을 수 있다.
*register 클래스도 auto 클래스와 마찬가지로 함수의 실행과 함께 
생성되었다가 함수의 실행이 종료되면 소멸된다.

*static 클래스와 extern 클래스는 auto 클래스나 register 클래스와는 
달리 함수의 실행이 끝난뒤에도 남아있는 변수이다.
*static 클래스는 함수의 내부에서나나 외부에서 모두 선언될 수 있고 
extern 클래스는 함수의 외부에서만 선언된다.
*static 변수는 초기화를 하지 않아도 시스템에 의해서 자동적으로 
0이나 NULL로 초기화 된다.
 




<결과>


a1~ a10까지의 변수들중
빨간 네모안에 있는 주소는 Data영역을 가리키고,
나머지 주소들은 BSS영역을 가리킨다

static 클래스는 초기화 하지 않으면 BSS영역을 초기화 하면 Data영역으로 바뀐다.

전역변수 또한 초기화 하지 않으면 BSS영역을 초기화 하면 Data영역으로 바뀐다.
전역변수의 장점으로는 함수간 공유가 쉽다 


728x90