同僚の方が一時的な確認のために同名の関数を静的リンクした実行ファイルを作成しようとしてエラーになっていました。C言語ではできないんじゃないかな。と思っていたのですが、「HPではできたのに〜」と言っていたのを聞き、ならばGCCでもオプションでどうにかなるのではと思って調べてみました。 結果、リンクオプション -z muldefs を利用することで可能でした。 使用したファイルは以下となります。 func.h 簡易的にするためインクルードガードは省いています。 int func(int x); func01.c #include "func.h" int func(int x) { return x + 10; } func02.c #include "func.h" int func(int x) { return x + 100; } main.c #include <stdio.h> #

