태그 보관물: c

c

유닉스 콘솔 / Mac 터미널에서 C / C ++를 컴파일하고 실행하는 방법은 무엇입니까? 어떻게 컴파일 /

유닉스 콘솔이나 Mac 터미널에서 C 또는 C ++를 어떻게 컴파일 / 실행할 수 있습니까?

(알고 잊어 버렸다가 다시 배우십시오. 적어 두십시오.)



답변

간단한 단일 소스 프로그램 인 경우 :

make foo

소스 파일은 foo.c 또는 foo.cpp 등입니다.

심지어 makefile이 필요하지 않습니다. Make에는 소스 파일을 확장명을 빼고 같은 이름의 실행 파일로 빌드하기에 충분한 기본 제공 규칙이 있습니다.

방금 빌드 한 실행 파일을 실행하는 것은 모든 프로그램을 실행하는 것과 동일하지만 셸은 $PATH실행 파일을 찾기 위해 찾은 내용 만 검색 하고 현재 디렉토리를 포함하지 않는 파일 만 검색하므로 실행 파일 경로를 지정해야합니다 ( .).

그래서 내장 된 실행 파일을 실행합니다 foo:

./foo


답변

gcc main.cpp -o main.out
./main.out


답변

이것은 모든 유닉스 컴퓨터에서 작동하는 명령입니다 … Linux / Ubuntu에서는 사용하지만 OS X에서도 작동합니다. Terminal.app에 다음 명령을 입력하십시오 .

$ g++ -o lab21 iterative.cpp

-o 0이 아닌 문자 O

lab21 실행 파일이 될 것입니다

iterative.cpp 당신의 C ++ 파일입니까

해당 명령을 실행 한 후 터미널에서 다음을 입력하여 프로그램을 실행하십시오.

$ ./lab21


답변

나를위한 두 단계 :

먼저:

make foo

그때:

./foo


답변

Unix (Linux, Mac OS X, AIX 등) 환경에서의 모든 응용 프로그램 실행은 실행 가능한 검색 경로에 따라 다릅니다.

다음 명령을 사용하여 터미널에이 경로를 표시 할 수 있습니다.

에코 $ PATH

Mac OS X (기본적으로)에는 다음과 같이 콜론으로 구분 된 검색 경로가 표시됩니다.

/ usr / bin : / bin : / usr / sbin : / sbin : / usr / local / bin : / usr / X11 / bin

따라서 나열된 디렉토리의 모든 실행 파일은 이름을 입력하여 실행할 수 있습니다. 예를 들면 다음과 같습니다.

고양이 mytextfile.txt

/bin/catmytextfile.txt가 실행 되고 터미널에 표시됩니다.

실행 파일 검색 경로에없는 다른 명령을 실행하려면 실행 파일의 경로를 규정해야합니다. Mac OS XI의 홈 디렉토리에 MyProgram이라는 실행 파일이 있다고 가정하면 다음과 같이 완벽하게 규정 할 수 있습니다.

/ 사용자 / oliver / MyProgram

실행하려는 프로그램과 가까운 위치에 있으면 이름을 부분 경로로 한정 할 수 있습니다. 예를 들어, MyProgram디렉토리 /Users/oliver/MyProjectI에 있고 홈 디렉토리에있는 경우 다음과 같이 실행 파일 이름을 규정하고 실행할 수 있습니다.

MyProject / MyProgram

또는 디렉토리에 /Users/oliver/MyProject2있고 실행하기를 원한다고 말하면 다음 /Users/oliver/MyProject/MyProgram과 같은 상대 경로를 사용하여 실행할 수 있습니다.

../MyProject/MyProgram

마찬가지로 MyProgram“현재 디렉토리”상대 경로를 사용해야하는 것과 동일한 디렉토리에있는 경우 . 현재 디렉토리는 마침표 뒤에 슬래시가 있습니다. 예를 들면 다음과 같습니다.

./MyProgram

현재 사용중인 디렉토리를 판별하려면 pwd명령 을 사용하십시오 .

일반적으로 이름을 한정하지 않고 실행하려는 하드 디스크의 한 곳에 프로그램을 넣는 경우. 예를 들어, 다른 프로그램의 정기적으로 사용되는 쉘 스크립트에 대해 홈 디렉토리에 “bin”디렉토리가있는 경우 실행 가능 검색 경로를 변경하는 것이 좋습니다.

.bash_profile홈 디렉토리에서 기존 파일을 작성 또는 편집 하고 행을 추가하여 쉽게 수행 할 수 있습니다 .

#!/bin/sh
export PATH=$PATH:~/bin

여기서 물결표 (~) 문자는 / Users / oliver의 바로 가기로 사용됩니다. 또한 해시 뱅 (#!) 행은 파일의 첫 번째 행이어야합니다 (없는 경우). 이 기술을 사용하려면 로그인 쉘이 bash (Mac OS X 및 대부분의 Linux 배포판의 기본값) 여야합니다. 또한 프로그램이 설치된 ~/bin시스템 실행 파일에 우선하여 사용되도록하려면 다음과 같이 내보내기 문을 다시 정렬해야합니다.

export PATH=~/bin:$PATH


답변

Ryan, 나는 이것이 너무 짧아서 주석 대신 답변으로 변경하고 있습니다. “터미널”에서이 모든 작업을 수행하십시오.

G ++ 컴파일러를 사용하려면 다음을 수행해야합니다.

  1. * .cpp 파일을 저장 한 디렉토리로 이동하십시오.

    cd ~/programs/myprograms/
    (~는 집의 바로 가기입니다 (예 : / Users / Ryan / programs / myprograms /), 실제로 사용한 위치로 바꿉니다.)

  2. 그것을 컴파일

    g++ input.cpp -o output.bin (output.bin은 확장명을 가진 모든 것이 될 수 있습니다. 실제로 bin은 유닉스에서 일반적입니다.)

    거기가 성공하면 아무것도 반환하지 않습니다, 그리고 즉해야 좋아 . 일반적으로 실패시 반품을받습니다.

    그러나를 입력 ls하면 동일한 디렉토리에 파일 목록이 표시됩니다. 예를 들어 다른 폴더 인 input.cpp 및 output.bin이 표시됩니다.

  3. 디렉토리 내부에서 이제 ./outbut.bin


답변

이를 수행하는 간단한 방법은 다음과 같습니다.

make foo && ./$_

하나의 라이너를 사용하면 실행 파일을 쉽게 다시 실행할 수 있습니다.