関数を別のファイルに書いてそれを呼び出すという練習問題がありました。
内容は2つの数を入力して割り算して結果を表示させるという簡単なものです。
コンパイルしようとすると
$ cc new.c /tmp/cc3h09QB.o:new.c:(.text+0x5a): `mod' に対する定義されていない参照です /tmp/cc3h09QB.o:new.c:(.text+0x5a): 再配置がオーバーフローしないように切り詰められました: R_X86_64_PC32 (未定義シンボル `mod' に対して) collect2: エラー: ld はステータス 1 で終了しました
となります。
簡単なミスをしているかもしれませんがエラーの原因点と改善点を教えてほしいです。
###new.c
#include <stdio.h> #include "calc.h" int main(){ int n1,n2; printf("n1="); scanf("%d",&n1); printf("n2="); scanf("%d",&n2); printf("%d ÷ %d = %d 余り %d",n1,n2,div(n1,n2),mod(n1,n2)); }
###calc.h
#ifndef _CALC_H_ #define _CALC_H_ int div(int,int); int mod(int,int); #endif // _CALC_H_
###calc.c
#include <stdio.h> #include "calc.h" int div(int a,int b){ return a/b; } int mod(int a,int b){ return a%b; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/25 18:30
2015/10/26 00:40