응용 프로그램은 시스템 콜이나 라이브러리 함수를 통해 커널의 모듈을 사용해 특정 기능을 발휘할 수 있다. 여기서 바로 시스템 콜을 사용하느냐 라이브러리 함수를 사용하느냐 두가지로 나뉠 수 있는데 라이브러리 함수를 사용한다면 함수 내에 사용된 시스템 콜을 사용한다. 반대로 응용 프로그램 내에서 바로 시스템 콜을 사용한다면 라이브러리 함수를 거치지 않고 커널의 기능을 사용할 수 있다. 유닉스 시스템 프로그래밍저자이종원 지음출판사한빛미디어 | 2010-01-07 출간카테고리컴퓨터/IT책소개아, 이 함수는 이럴 때 쓰는구나! 예제로 배우는 시스템 호출 ...
getopt() 함수는 콘솔 기반의 프로그램(어플리케이션)을 제작하는데 있어 옵션 값(인자, 파라미터)을 받는데 유용한 함수다.사실 '-a' 나 '--version'과 같은 옵션을 argc, argv로 처리할 수도 있겠지만 이를 직접 처리하는 것은 귀찮은 작업이다. 이를 위해 getopt 함수가 제공된다.getopt() 함수는 stdio.h 와 unistd.h 모두에 정의되어있다. 두 헤더 파일에 정의된 함수의 차이는 딱히 없는 듯 하다. hanopt.c //140924 Source by YoWu (uyu423@gmail.com) #include "stdio.h" int main(int argc, char *argv[]) { int num; extern char *optarg; extern int opt..
위 ACM 준비를 하다가 풀어본 연습문제이다.영어라 정확히는 모르겠지만 왼쪽의 문자열(최대 20byte)를 사용해 오른쪽의 문자열(최대 80byte)를 만들 수 있냐는 문제다.왼쪽의 문자열 중 하나의 문자는 반드시 한번은 사용되어야 하는 것 같고, 오른쪽의 문자열 중에 왼쪽 문자열 중 없는 문자가 없으면 NO를 출력한다. 조건을 만족하면 YES를 출력.사용한 언어는 C++ 를 가장한 C. #include "stdio.h" #include "string.h" #include "stdlib.h" int main(void) { int num; char bank[21]; char str[81]; int cnt = 0; int strsum = 0; scanf("%d", &num); for(int i = 0; i ..