Как вызвать функцию c из скрипта оболочки? - PullRequest
1 голос
/ 02 декабря 2011

Пожалуйста, укажите команду или пример кода для вызова функции c из сценария оболочки.

Ответы [ 4 ]

3 голосов
/ 02 декабря 2011

К сожалению, вам необходимо скомпилировать код C в исполняемый файл, возможно, с интерфейсом командной строки, если вам нужно проанализировать аргументы. Оттуда вы можете вызвать свой исполняемый файл в сценарии оболочки.

2 голосов
/ 05 октября 2015

Python ctypes может использоваться для загрузки собственных библиотек и функций вызова, которые соответствуют стандартным соглашениям о вызовах. Так что, если Python доступен, можно сделать что-то вроде:

python -c "import ctypes;ctypes.CDLL('libc.so.6').puts('Hello from libC.')"
0 голосов
/ 28 мая 2012

В качестве альтернативы вы можете использовать этот подход:

http://www.unix.com/shell-programming-scripting/51226-calling-c-function-froma-shell-script.html

0 голосов
/ 02 декабря 2011
#!/usr/bin/bash
cat >temp.c <<BLAH_END
blah
function_you_want_to_call(arg_you_want_to_pass..);
BLAH_END
gcc temp.c -llibrary_you_want_to_link_to
./a.out
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...