前提・実現したいこと
gccを使った複数ファイルでのC言語のコンパイル
発生している問題・エラーメッセージ
独学でC言語を学んでいる初心者です。
知っていて当然な質問でしたらすみませんが、自力で解決できないため質問させてください。
『苦しんで覚えるC言語』を勉強していてファイル分割の解説まできました。
ヘッダファイル、ソースファイル、インクルード元のmain関数があるファイル
の3つに分割されたファイルがあり、コンパイルしたのですがインクルードがうまく行っていないようです。
合計値を計算して出力するプログラムなのですが、合計値が0で出力されてしまいます。
何らかのやり方でヘッダファイルを紐付ける必要があると思われるのですが(リンク??)、調べても分かりませんでした。
該当のソースコード
/* main.c */
include <stdio.h>
include "sum.h"
int main(void) {
int value;
value = sum(50, 100);
printf("%d\n", value);
return 0;
}
/* sum.c */
int sum(int min, int max) {
int num;
num = (min + max) * (max - min + 1) / 2;
return 0;
}
/* sum.h */
int sum(int min, int max);
試したこと
$ gcc -o main main.c sum.c
→実行ファイルmainが作成され、実行すると0と表示される。
$ gcc -o main main.c sum.c sum.h
→clang: error: cannot specify -o when generating multiple output files

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/25 00:27