別ファイルでの関数のリンク

C言語では、コンパイル後のリンク段階で、
同じ名前の関数があるとリンカは**「名前だけを頼りに結びつける」という単純な仕組みになっている。
これは、C言語がもともと
効率と最小構成を重視して設計された**ためであり、
リンカが型情報まで確認するような複雑な仕組みをあえて持たなかったからである。

しかしその結果、型が異なる関数を誤って結びつけてしまう危険性が生じる。
このような事態を防ぐためには、
ヘッダファイル(.h)で関数の型を正しく宣言し、
main などのソースファイルでは #include によってそれを読み込むことが極めて重要である。

\ 最新情報をチェック /

コメント

PAGE TOP
タイトルとURLをコピーしました