pthread.h를 사용하는 ac 프로그램을 컴파일하는 방법?


14

저는 초보자이며 우분투를 처음 사용합니다. 방금 설치하고 C 프로그램을 실행하고 싶습니다. 사용할 플랫폼 또는 코드를 작성할 위치를 모릅니다. 프로그램에서 pthread.h 헤더 파일을 사용해야합니다. 누구든지 나를 도울 수 있습니까?


답변:


21

사용하다:

gcc MyProgram.c -o MyProgram -lpthread 

POSIX 라이브러리를 코드에 포함시키는 것을 잊지 마십시오. 코드를 컴파일합니다.


2
기본적으로 GCC에는 pthread 라이브러리가 포함되어 있지 않습니다. 따라서 lpthread 인수를 사용하여 라이브러리를 포함해야합니다.
Parthiv Shah

또한 gcc-4.8에는에 -lpthread인수 가 없습니다 man gcc. 그러나 -pthread논쟁이 있습니다. 둘 다 gcc-4.8과 함께 Ubuntu 14.04에서 잘 작동합니다.
Elijah Lynn

1

GCC 또는 G ++를 사용하여 LINUX에서 pthread.h 를 사용하여 C 프로그램을 컴파일 하려면 컴파일 명령 뒤에 –lpthread 옵션 을 사용해야 합니다.

gcc xyz.c -o xyz -lpthread

여기,

gcc 는 컴파일러 명령 (컴파일러 이름)입니다.
xyz.c 는 소스 파일 이름입니다.
-o 는 objcect 파일을 작성하는 옵션입니다.
xyz 는 객체 (이진) 파일의 이름입니다.
-lpthread 는 pthread.h의 옵션입니다.

자세한 내용은 여기 링크 관련 기사를 참조하십시오.
Linux에서 pthread.h를 사용하여 C 프로그램 컴파일


0

C / C ++ 프로그램을 컴파일하기 위해 우분투에서 가장 먼저해야 할 일은 build-essentialpackage의 일부인 GCC (Gnu Compiler Collection)를 설치 하는 것입니다.

sudo apt-get install build-essential

그런 다음을 실행하여 설치했는지 테스트 할 수 있습니다 gcc. 당신이 당신과 같은 오류가 표시되는 경우 Fatal error: file not provided, (하지 않도록 정확한 오류 메시지를하지만, 비슷한이어야 함) 수단 것을 당신은 컴파일러가 준비되어 있습니다.

그리고 코드를 편집하기 위해 이미 사용 가능한 Gedit을 사용할 수 있습니다 . 대시에서 검색하십시오.

다음은 C 소스 파일을 컴파일하는 구문입니다. 파일이있는 위치에서 다음을 실행하십시오.

gcc MyProgram.c -o MyProgram

여기서 switch -o는 선택 사항이지만 소스에서 만들어야하는 이진 파일의 이름을 언급하기 위해 제공됩니다.

그런 다음 간단히 실행 ./MyProgram하여 바이너리를 실행하십시오.

참고 pthread.h당신이 언급 한 바와 같이 그렇게 간단하게 그 일을 할 것입니다 귀하의 C 파일에 포함 (POSIX 스레드)가 사용할 수없는 경우, 간단한 구글 검색이 도움이 될 것입니다, GCC와 기본적으로 사용할 수 있습니다. ;)

최신 정보

너무 오래 읽지 않았습니까? 이것을 확인 하십시오 . :디


0

오류가 발생하면 다음과 같이 매개 변수를 교환하여 동일한 명령을 시도 할 수 있습니다

gcc -lpthread -o output_file program_pthread.c

그 후 ./output_file프로그램에 대한 출력을 제공하며 여기 program_pthread.c에 구현 한 pthread 프로그램이 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.