アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (3件)

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2011/06/02 00:13

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

    • good
    • 0

> 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];
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!