我有一些C代码,我创建了一个库(共享对象更具体)。如果我想在shell脚本中调用此代码的特定函数,我该怎么做?我不想修改C代码,只需使用shell进行测试。
答案 0 :(得分:4)
创建一个简单的程序,它是C函数的包装器。
从shell调用该程序。
假设你有一个功能
void foo(int arg1, char* arg2);
包装器程序的main
函数将是:
int main(int argc, char** argv)
{
// Add the necessary checks to make sure
// you have the required arguments.
int arg1 = atoi(argv[1]);
int arg2 = argv[2]);
foo(arg1, arg2);
}
答案 1 :(得分:3)
在bash
,sh
或csh
等常见shell中没有内置功能。唯一的方法是编写一个包含此函数(或函数)的可执行文件,并从脚本中调用它。此外,您的可执行文件可能会收到参数,告知要调用哪个函数。