2013-02-25 4 views
1

나는 다음과 같은 명령으로 리눅스에서 C 코드를 컴파일하고 있습니다 :컴파일 후 리눅스에서 프로그램을 실행하는 방법은 무엇입니까?

나는 그것에 이름을 부여하지 않았다면
 
gcc -o myprogram myprogram.c 

, 나는 단순히 그것을 실행 명령 ./a.out을 쓸 수 있었다. 하지만 이제는 프로그램을 실행하기 위해 "myprogram"을 명령 행에 작성하지만 "명령을 찾을 수 없습니다"라고 말합니다. 그것을 실행하려면 어떻게해야합니까?

+3

현재 작업 디렉토리가 경로에 없습니다. – Hogan

+0

'gcc -Wall -g myprogram.c -o myprogram'으로 컴파일하는 습관을 취한 다음'Makefile'에서'make'를 사용하는 법을 배워야합니다. 'gdb' 디버거를 사용하는 법도 배워야합니다. –

답변

4

그것은있을 가능성이 현재 디렉토리 (".")가 귀하의 PATH에 없습니다. (당신은 echo $PATH을 입력하여이를 확인할 수 있으며,이로 구분 디렉토리의 목록입니다 ":". "."현재 디렉토리에 뭔가를 실행하려면 목록에 있어야합니다.)

하면 현재 디렉토리 ISN PATH에 입력하면 ./myprogram (또는 올바른 경로가 무엇이든)을 입력해야합니다.

2
./myprogram 

트릭을해야합니다.

(하지만 실제로는 ... 당신이 "이름없이"프로그램을 컴파일 한 후 디렉토리의 내용을보고 있나요? 아니면 ./a.out 배쉬가 인식 마법의 순서라고 생각합니까?)

+1

@bigO - FYI, 위의 대답은 당신이'myprogram'과 같은 디렉토리에 있다고 가정합니다. 그렇지 않으면'/ path/to/myprogram'도 작동합니다. –

+0

고마워, 그게 효과가있어. – yrazlik

+1

@bigO 프로그래밍을 시작하기 전에 사용하고있는 컴퓨터와 OS에 대한 일반적인 생각을 가지고 있어야한다. 그렇지 않으면 자신과 다른 사람들을 발로 쏴 버릴 것이다. –

관련 문제