2011-12-11 1 views
2

fun project의 Git 후크에서 시스템 사운드를 재생하고 싶습니다.쉘에서 C 함수 (libcanberra)를 호출하십시오.

시스템 사운드에는 freedesktop standard 및 C 라이브러리 (libcanberra)가 있지만 libcanberra와 함께 실행 파일은 제공되지 않습니다. 풀 펄이나 파이썬 인터프리터를 시작하지 않고 쉘 스크립트에서 libcanberra의 ca_context_play 메소드를 호출하는 쉬운 방법이 있습니까? 그리고 그렇지 않다면 perl/python을 사용하면 어떻게 될까요?

+0

libcanberra 저자는 데비안 패키지 libcanberra-gtk0에 포함되어 있으며 필요한 것을 수행하는 canberra-gtk-play 명령을 알려주었습니다. –

답변

3

커맨드 라인에서 지정한 것을 통해 함수를 호출하는 간단한 C 프로그램을 작성하지 않으시겠습니까?

+0

두 번째 조언. 그냥 해보십시오. 상상할 수있는 것보다 훨씬 쉽고 인터페이스가 쉽습니다. – buddhabrot

2

쉘에서 C 함수를 호출 할 수 없습니다 (몇 가지 쉘을위한 플러그인을 개발하지 않는 한 zsh - 허용하지만, 그런 식으로 질문하지 않을 것입니다).

셸에서 프로그램을 실행할 수 있으며 익명 user112358132134가 제안한대로 프로그램을 작성할 수 있습니다.

Linux에서 소리를 재생할 수있는 프로그램이 여러 가지 있습니다. 데비안 박스에서는 sox 소프트웨어가이를 수행하는 play 명령을 제공합니다.

+0

hehe .. "익명 user112358132134". stackoverflow가 내 기본 이름으로 그걸 준다면 뭔가 미친 짓 이겠지;) –

+0

+1에 대한 제안. –

0

쉘에서 C 코드를 실행하기 전에 C 코드를 컴파일해야하므로 쉘에서 직접 C 코드를 호출 할 수 없습니다.

명령 줄은 기계어 코드 만 실행합니다. 텍스트 (쉘 스크립트 또는 파이썬 스크립트)를 실행하면 텍스트를 실행할 수있는 다른 프로그램 (예 : 파이썬 가상 머신)을 호출합니다. 따라서 컴파일 언어 (C 또는 C++과 같은)는 직접 실행할 수 없습니다.

관련 문제