|
2017/04/25(Tue) 21:54:16 編集(投稿者)
■No83938 (へいね さん) に返信 > あるファイルに定義しているinline関数が > 別のファイルでextern 関数として利用できないでしょうか。
できませんね。
> どうして?
別の c ファイルから参照するためには、元の c ファイルが「関数」として見えるようにしていなければなりません。 しかし、inline 指定は「その関数を利用している箇所にインライン展開(埋め込むこと)する」ことを求めているので、関数として残りません。 (C 言語は 1 ファイルごとにコンパイルしますので、他の c ファイルがどのように利用しているかは考慮しません) ゆえに関数がないのですから、他の c ファイルから利用することはできません。
inline 関数を複数の c ファイルで利用したいなら、h ファイルに書いてください。
|