C言語及びC++言語では規模の大きいプログラムは
複数のファイルからなるプログラムを組み
コンパイルしてソフトウェアを作ります
ただファイルを作るだけでは
他のcファイルの関数を使えるわけではなく
関数や変数を外部宣言したヘッダーファイルを作り
それをインクルードすることで
そのインクルードした外部ファイルの関数や変数を使うことができます
ただしヘッダーファイルはソースと同じフォルダやパスの通ったフォルダに置くか
相対パスや絶対パスで正しく指定しないとコンパイラがヘッダーを探せなくなりエラーとなります
インクルード指令
標準ライブラリなど内部ライブラリは<>で囲みます
例えば次のようなcalc1.cとmain.cがあるとします
calc1.h
main.c
calc1.cには
このadd1関数をmain.cで使いたい場合は
ヘッダーファイル
calc1.h
を作りそこに
calc1.cとmain.cに
main.c内でもcalc1.cの関数を使うことができます
gccなどで直接コマンドでコンパイルする場合は
複数のファイルからなるプログラムを組み
コンパイルしてソフトウェアを作ります
ただファイルを作るだけでは
他のcファイルの関数を使えるわけではなく
関数や変数を外部宣言したヘッダーファイルを作り
それをインクルードすることで
そのインクルードした外部ファイルの関数や変数を使うことができます
ただしヘッダーファイルはソースと同じフォルダやパスの通ったフォルダに置くか
相対パスや絶対パスで正しく指定しないとコンパイラがヘッダーを探せなくなりエラーとなります
インクルード指令
#include "ヘッダーファイル名"
標準ライブラリなど内部ライブラリは<>で囲みます
#include <ヘッダーファイル名>
例えば次のようなcalc1.cとmain.cがあるとします
calc1.h
extern int add1(int x);calc1.c
#include "calc1.h" int add1(int x) { return x + 1; }
main.c
#include <stdio.h> #include "calc1.h" int main() { int a = add1(8); printf("%d\n",a); }
calc1.cには
int add1(int x);という関数があり
このadd1関数をmain.cで使いたい場合は
ヘッダーファイル
calc1.h
を作りそこに
extern int add1(int x);と書き
calc1.cとmain.cに
#include "calc1.h"とインクルードすることで
main.c内でもcalc1.cの関数を使うことができます
gccなどで直接コマンドでコンパイルする場合は
gcc -o a -c main.c calc1.cとなります
コメントをかく