スポンサーリンク
無理やりstatic関数を別ファイルから呼び出したいとき
一時的なデバッグなど、どうしてもstatic関数を別ファイルから呼び出したいときは、
別ファイルからstatic関数を定義しているファイルをincludeするという手もあります。
(もちろんおすすめの方法ではありません)
例えば、func.cにstatic関数を定義します。
$ cat func.c #include <stdio.h> static void func(){ printf("func\n"); return; }
sample.cからfunc.cをincludeします。
そして、sample.cのmain()から、func.cのstatic関数func()を呼び出します。
$ cat sample.c #include <stdio.h> #include "func.c" int main(){ func(); return 0; }
コンパイルをして、
$ gcc -o sample sample.c
実行するとfunc()が実行されているのが確認できます。
$ ./sample func
スポンサーリンク