네트워크 보안 수업 1일차 - 코리아 정보보안 IT학원

2016. 3. 28. 16:58네트워크 보안 수업/C언어

반응형

언어?


- 컴퓨터에게 명령을 전달하기 위해 사용


컴파일 (compile)


- GCC (GNU C Compiler)


#> gcc <C Source file path>


#> touch source.c

#> gcc source.c

...

undefined reference to `main'


기본 함수 : main() 함수


- c소스파일은 반드시 main 함수를 포함하고 있어야 한다.


* main()함수의 원형

#include <stdio.h>


int main(int argc, char *argv[]) )

{ )

) 기본이므로 외워둘것

return 0; )

} )


컴파일(에러 수정)


- 기본 함수를 추가해준 뒤 다시 컴파일

#> gcc source.c

#> ls

a.out source.c


#> file source.c

source.c: C source, ASCII text

#> file a.out

a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=d5053adc0abeecdf159e8627bc8f4dadff445a73, not stripped


* 실행가능한 파일은 a.out 파일이다.


[실습]: sample01


#include <stdio.h>

int main(int argc, char *argv[])

{


return 0;

}


c컴파일러는 확장자에 .c 가 붙어야 컴파일 할 수 있다.


[실습]: sample02.c


#include <stdio.h>

int Main(int argc, char *argv[])

{


return 0;

}

c컴파일러는 대소문자를 엄격하게 관리함


[실습]: sample03.c


#include <stdio.h>

int main(int argc, char *argv[])

{


return 0;

}


sample03.c: In function ‘main’:

sample03.c:6:1: error: expected ‘;’ before ‘}’ token

 }

 ^


sample03.c: In function ‘main’:

----------- ---------------------

     1 2


1: 에러가 발생한 소스파일

2: 에러가 발생한 함수



sample03.c:6:1: error: expected ‘;’ before ‘}’ token }

---------- - -  -----  -----------------------------------

     1     2 3    4                    5


1: 에러가 발생한 소스파일

2: 에러가 발생한 라인넘버

3: 에러가 발생한 글자위치

4: 에러타입 : error, warning

5: 에러 메세지


[실습]: sample04.c


#include <stdio.h>


int main(int argc, char *argv[])

{


return 0;

}


int main(int argc, char *argv[])

{


return 0;

}


[실습]: sample05.c


#include <stdio.h>


int main(int argc, char *argv[])

{


}


#> gcc sample05.c -Wall


* main 함수의 마지막은 항상 "return 0"로 끝나야 한다.


[실습]: sample06.c


#include <stdio.h>


int main(int argc, char *argv[])

{


}

return 0;


* 함수 바깥에는 실행 코드를 작성할 수 없다.

* 변수의 선언은 함수의 바깥에서도 가능하다.


[실습]: sample07-1.c


#include <stdio.h>

int main(int argc, char *argv[])


return 0;

}


[실습]: sample07-2.c


#include <stdio.h>

int main(int argc, char *argv[])

{


return 0;


* 함수의 시작과 끝은 항상 정의 해주어야 한다.


[실습]: sample08.c


#include <stdio.h> int main(int argc, char *argv[]) {return 0;}


[실습]: sample09.c


#include <stdio.h>

int

main

(

int

argc,

char

*argv[]

)

{

return

0;

}


* c기초 수업의 목표는 수업 시간에 작성했던 내용을 보지 않고 작성할 수 있다면 완성! 

반응형