커맨드라인 인자
- argc: 인자의 개수 (최소 1)
- argv: 각 인자의 값
- 바이너리 파일 이름은 첫번째 인자에 해당됨.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i;
printf("argc=%d\n", argc);
for (i = 0; i < argc; i++) {
printf("argv[%d]=%s\n", i, argv[i]);
}
exit(0);
}
- 실행 결과
- 쉘 특성 상 문자열을 큰 따옴표(",")로 묶어서 인자로 넘기면 공백도 포함됨.
- 쉘 특성 상 와일드 카드 사용 시 현재 경로 기준으로 매칭되는 파일 이름을 인자로 넘김.
$ ./args
argc=1
argv[0] = ./args
$ ./args x
argc=2
argv[0]=./args
argv[1]=x
$ ./args x y
argc=3
argv[0]=./args
argv[1]=x
argv[2]=y
$ ./args x y z
argc=4
argv[0]=./args
argv[1]=x
argv[2]=y
argv[3]=z
$ ./args "x y z"
argc=2
argv[0]=./args
argv[1]=x y z
$ ./args *.c
argc=3
argv[0]=./args
argv[1]=hello.c
argv[2]=args.c
$ ./args "*.c"
argc=2
argv[0]=./args
argv[1]=*.c
GCC 컴파일러
gcc -g -W -Wall -o [실행파일] [C파일]
- -o 는 목적 파일 이름 주는 옵션
- -Wall 은 소스 수준의 정보를 디버깅 시 이용하기 위한 옵션.
- 위 두 개는 항상 옵션으로 줄 것
- 참고
man 명령어
리눅스 라이브러리 함수의 정보가 필요한 경우 매우 유용한 명령어
man strlen
'Programming Language > C in Linux System' 카테고리의 다른 글
리눅스 커널 기초: 파일 시스템 및 프로세스 (0) | 2020.11.03 |
---|