달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31


cl /P main.c -> .i 파일 생성

cl /Fa main.c -> .asm 파일생성

cl main.c -> .exe 파일 및 .obj 파일생성


기계어는 2(bin)진수이나 화면표시의 편리상 16진수로 보여줌(hexa view)


작성->.c 전처리(에러)->.i  컴파일(에러)->.asm 어셈블러->.obj 링크(에러)->.exe 실행->런타임 에러

                  C           assembly       기계어  

리눅슨는..gcc () -o                      .s             .o


윈도우 실행기준 1. 현재위치 기준으로.. 1)이름만 2) 이름.exe

                2. path에 등록된 경로위치에서...

유닉스가 직접X.. gcc가 .c를 보고 실행파일인지 여부 결정. .c면 실행

                 경로는.. 윈도처럼 현재위치가 항상 기준은 아님. ./를 명시해야..다른폴더 파일을 지우거나 실행할 위험이 없음.


-r/rwx/---/---

/소유주/그룹/기타

업무일지 방식 : [smart]이름-날짜(-과제명)

도스창에서 notepad main.c


#include<stdio.h> //전처리 영역으로서 C가 아님. .c->.asm 이전에.. .c->.i 하는 부분. 이 한줄이 .i 오천줄 정도.

 //#은 다 전처리 영역. stdio.h 안에 또 다른게..include 됨...

                  //이렇게 다 include 하면...   .i 파일로 만들어 짐.

                  //헤더파일들은.. C:\Program Files\Microsoft Visual Studio 10.0\VC\include에 있음.


int main(void)    //C

{

printf("Hello world! \n");

return 0;

}

<> include 폴더 안에서 stdio.h 파일을 찾으라는 말임.

include 폴더 경로도 설정가능.

리눅스창에서.. 아디->usr->include->ls -al stdio.h


main 엔트리포인트 즉 진입점. (윈도우에서는 winmain)

return 함수실행전의 상태로 돌아오라 (즉, 함수 종료).

return 뒤에 뭐 적으면 그냥 종료 됌.

0은.. 일할 때 문제없으면 0을 넘기라.고 C표준에 정의 됌.

질> 엔트리포인트 두 개 이상 가능?



Posted by C언어 보이
|