質問: ( 基本的な質問なのですが ) 実行ファイルに使用しない関数のコードも含まれるためコードサイズがやや大きいということがおきています( つまり以下のようなことがおきています)。使用しない関数を実行ファイルに含めないようにするにはどのようにしたらいいのでしょうか? gcc を使用しています。 -- つぎのような2つのC codeから実行ファイルをつくった場合に f1 のコードもそれに含まれる func.c void f0 () { ... } void f1 () { ... } main.c int main() { ... f0(); }; よろしくお願いします
回答: 関数ごとに別ファイルにし、オブジェクトファイルを一つのライブラリにまとめ、 それをリンクする。 ``` gcc -c main.c func.c func1.c ar rcs libfunc.a func.o func1.o gcc -o main main.o libfunc.a ```