…™업무일지。

[smart]이재우-20140305

엔지니어2 2014. 3. 5. 10:41
728x90

 

2014.03.05 수업.docx

 2014.03.05 수업 및 과제 

1. 컴파일 과정

visual c++ like.c 파일을 컴파일 하는 과정

like.c - (전처리기) - like.i (전처리 결과) - (컴파일) - like.asm(어셈블리파일) - 어셈블리 -> like.obj( 오브젝트[기계어] 파일 ) - 링크 - like.exe(실행 파일[기계어])

 - main.i 생성 명령 : cl /P main.c

 - main.asm 생성 명령 : cl /Fa main.c   

 2. Microsoft Visual Studio 실행 창에서 줄 번호 보기 설정

  

 3. Microsoft Visuall Studio 실행 후 main.i main.asm main.obj main.bin 파일 보기

   아래 그림 적색 화면에 main.i main.asm main.bin main.bin main.c 

   main.bin 파일은 main.exe 파일 확장자 .exe를 bin으로 바꾼다. 확장자기 exe 이면 바로 실행 하기 때문에

   확장자 .bin으로 변경 

 

  

 

  윈도우 단축키

 

    윈도우키 + r > 실행 > 에러시 Run.time.error 라 함

 

4. zterm

gcc 명령어로 main.i main.asm main.bin main.bin 파일 생성 하기

gcc --save-temps -o main main.c

main.i main.o main.s 파일 생성

 

5. 실행기준

<windows> 확장자를 보고 파일를 예)판단이름.exe

<unix 계열> 파일을 직접 판단하지 않음  

리눅스 파일 권한 설명 

 -rwx------  27  root  root  4096  3월  5  11:33  ../ 

 -

 rwx

 ---

 ---

 27

root 

 root  4096

 3월

 5  11:33 ../ 

 -일반파일

 d디렉토리

소유주

권한

그룹 권한

 기타 권한

 

소유자

계정

그룹

계정

파일

크기

 날짜

 시간

 디렉토리

/파일

 

r(읽기)

w(쓰기)

x(실행)

권한있음

-(읽기

권한없음)

-(쓰기

권한없음)

-(실행

권한없음)

-(읽기

권한없음)

-(쓰기

권한없음)

-(실행

권한없음)

 

 

 

 

 

 

 

 

  

 

6. main.c 기본형 설명

 

<그림1>

 

6.1 main.i 파일 내용 앞줄 0~ 5000(stdio.h 파일)까지 내용    

     ->그 뒤는 위의 <그림1> 파일 내용이 나옴

 

6.2 windows #include <stdio.h> 설명

     #의 의미: 전처리 영역

     <stdio.h>파일 경로-> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\stdio.h

     windows 환경변수 내용 보기-> 시작/실행/cmd 도스 창에서 set 명령

 

 

    리눅스 #include <stdio.h> 설명

     <stdio.h>파일 경로-> usr/incldue/stdio.h

     리눅스 환경변수 내용 보기-> zterm_14 실행/도스 창에서 set 명령

 

 

6.3  int main(void) -> int:결과  void:조건 main:함수 이름 ->함수(function):진입 점(entry_point)

int ->정수(integer)

main -> 중요한

void ->없다/회피하다 (생략 있는 것으로 간주)

 

 

6.4  { ->시작

printf("Hello World \n");

return 0;  return:실행하기 전의 상태로 돌아감 0:문제가 없는 정수(0) 반환 값   

} -> 끝

 

      ※참고 ; -> 명령어 한문장 종료

 

6.5  printf("Hello World \n");

int printf("Hello World \n")int 가 생략되어 있음 -> printf 함수

printf 함수 기본형: printf(" "); " " 안의 글자를 출력

\n -> enter 명령

도스: 기본적으로 \n 가 포함되어 있음

        Hello World

  한칸

  두칸

  _  여기에 위치

리눅스: \n이 없으면 문장이 끝이 안남

 

\n의 의미: 라인 피드(줄 바꿈) + 캐리지 리턴(커서가 맨 앞으로 감) 이 동시에 실행 

 

리눅스에서 아래 두개의 명령이 같은 의미이다

gcc -o main main.c

cc -o main main.c

gcc version 확인 방법  

      gcc --version

cc --version

 

 

      ※참고 ; -> 명령어 한문장 종료