입력 arguments 넣는방법

how to give command line arguments in Xcode

 

 

 

프로그램을 실행할 때 특정 값들을 함께 넣어주고 싶은 경우가 있습니다. 예를 들면, 특정 옵션값(ex, -g, -i, -e 등) 처럼 말이죠. 특히 IDE를 사용해서 디버깅을 할 때 필요할 때가 종종 있을 것입니다. IDE를 Xcode로 사용하는 경우 이 입력값들을 설정할 수 있는 곳이 있습니다. 

 

 

방법

[Product] > Edit Scheme… 클릭
 > Run 
 > Arguments 
 > Arguments Passed On Launch 체크
     - [+] 를 눌러서 원하는 입력 파라미터들을 하나씩 추가시킵니다.
 > 타이틀 바(Title Bar) > [▶] 버튼 혹은 Product > Run으로 프로그램을 실행

 

※ 위 사진은 프로그램을 실행할 때 총 7개의 arguements를 넣은 것입니다. "-e", "-i", "hello", "--join", "joker", "--join", "batman"으로 넣은 것입니다. 위 사진 처럼, 한칸에 값을 하나씩 적을 수도 있고 옵션값과 함께 특정 값을 띄어쓰기(space)를 사용해도 상관없습니다. 위처럼 arguements를 설정한 후 실행한다면 명령어(command line)으로 프로그램을 아래처럼 실행한 것과 동일한 것입니다.

$ odo -e -i hello --join joker --join batman

 

 

참고

개발 중에 "Arguments Passed On Launch" 에 입력된 데이터들은 프로그램이 실행될 때 가장 먼저 호출되는 main 함수를 통해 입력되는 값이기 때문에, 직접 확인할 수도 있습니다.

 

main(int argc, char** argv) {
	…
}

 

  • argc : 입력 파라미터의 개수 (=argument count)
  • argv : 입력 파라미터의 값 (=argument value)

 

실행 프로그램 이름이 첫번째 인자로 항상 들어가기 때문에, 입력 파라미터(Arguments)를 아무것도 추가하지 않아도 argc는 항상 1이고, argv[0]은 항상 프로그램이름 값입니다. 만약에 앞의 그림처럼 입력 파리미터가 총 7개라면 프로그램 이름 1개를 포함해서, argc는 총 8이 될 것이고, 입력 파라미터의 가장 첫번째 값은 argv[1]부터 조회가 가능합니다.