저는 pybind11 튜토리얼을 진행하고 있습니다. 예제를 컴파일하려면 다음 줄을 사용해야합니다.
c++ -O3 -shared -std=c++11 -I <path-to-pybind11>/include `python-config --cflags --ldflags` example.cpp -o example.so
부분을 이해하지 못합니다
`python-config --cflags --ldflags`
주로 내용에 관한 것이 아니라 컴파일 명령에 어떤 의미가 있습니까? 그것은에 속하지 않는 -I
플래그? 그 "`"는 무엇입니까?
C ++ / cpp 매뉴얼을 확인했지만 아무것도 찾지 못했습니다.
셸 명령에서 역 따옴표 사이에있는 내용을 볼 때``는 기본 명령 이전에 실행되는 별도의 명령이며 표준 출력에 쓰는 모든 내용이 기본 명령에 사용됨을 의미합니다.
예를 들면 :
rm `cat file_to_delete.txt`
file_to_delete.txt
"sausage.png"를 포함하는 것으로 간주합니다 . cat file_to_delete.txt
부품이 먼저 실행되고 "sausage.png"가 출력됩니다. 그러면 다음과 같이 기본 명령에 삽입됩니다.
rm sausage.png
따라서 귀하의 예에서는 python-config --cflags --ldflags
별도의 명령 c++
이며 출력되는 모든 내용은 원래 명령에서 대체됩니다. 이 출력되면 -Wall -Wextra -lmath
당신의 c++
명령은 다음과 같이 끝날 것입니다 :
c++ -O3 -shared -std=c++11 -I <path-to-pybind11>/include -Wall -Wextra -lmath example.cpp -o example.so
python-config
따라서 명령 의 요점은 파이썬 코드로 C ++ 코드를 실행하는 데 필요한 플래그 gcc
( c++
실제로 사용 gcc
) 를 제공하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다