シェルスクリプトでCソースファイルの特定の関数を呼び出す方法は?

シェルスクリプトでCソースファイルの特定の関数を呼び出す方法は?

一部の機能を含むCソースファイルがあります。シェルスクリプトから特定の機能を呼び出したいです。sample.c次の内容を含むファイルがあります。funcAシェルスクリプトでこれを呼び出したいです。どうすればいいですか?

#include <stdio.h>

void funcA(void){
    printf("Congrats..!! This is function A...!!\n");
}


int main(void){
    printf("Better luck next time..!!\n");
    return 0;
}

ベストアンサー1

exitたとえば、最後に関数への呼び出しを追加してコードを少し変更したい場合は、エントリーになるオプションをリンカーに渡してコードをコンパイルできます。exit(0);-e funcAfuncA

ファイルが呼び出されると仮定すると、foo.cシェルスクリプトから呼び出されたときにfuncAファイルの機能を実行する次のシェルスクリプトを使用できます。foo.ccall foo.c funcA

call() {
    cc -Wl,-e"$2" $1 && ./a.out
}

おすすめ記事