• ベストアンサー

別々に作ったプログラムを繋げたい

C言語で2つのプログラムを作りました 1つは関数のみを記述したもの もう1つはその関数を定義だけし こっちをメインとして使いたいもの メインで関数を呼び出して実行したいのですが どのようにコンパイルすればいいのかわかりません コンパイル以外に何か特別な作業は必要でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> C言語で2つのプログラムを作りました > 1つは関数のみを記述したもの > もう1つはその関数を定義だけし > こっちをメインとして使いたいもの 通常、両方合わせて1つのプログラムと呼ぶかと思います。 例えば、 main.cをメインとして使う。func.cに関数のみ記述したという場合、 gcc -c main.c ※ main.o を生成(コンパイルのみ) gcc -c func.c ※ func.o を生成(コンパイルのみ) gcc -o main main.o func.o ※ mainを生成(リンクのみ) こんな感じの手順になるかと。(Makefile書けば更新部分のみ行なえる) もしくは、 gcc -o main main.c func.c 複数のソースファイルを一度にコンパイル・リンクしても良い。 /* main.c */ #include <stdio.h> int func( int ); int main( void ) { int funcvalue; printf( "1回目 %d\n", func(0) ); printf( "2回目 %d\n", func(0) ); printf( "3回目 %d\n", func(0) ); return 0; } /* func.c */ int func( int number ) { static int index=0; static int collections[] = { 4, 7, 6, 1, 3, 8, 2 }; if( 0 < number && 7 >= number ) { index = number; return collections[index-1]; } ++ index; if( 6 < index ) index=0; return collections[index]; }

その他の回答 (2)

  • Takuya0615
  • ベストアンサー率21% (329/1502)
回答No.2

「マージ」という言葉も一緒に検索してみたら?

  • morchin
  • ベストアンサー率16% (212/1281)
回答No.1

「分割コンパイル」というキーワードで調べるべし!

anisakis
質問者

お礼

自分の聞きたいことが書いてありました ありがとうございました

関連するQ&A