地味にC言語の理解が足りない気がする・・・・。
つーか仕様がクソなんだよな。C言語ウンコすぎ。
という批判はおいといて・・・・
分割コンパイルの仕組みを良く理解していない。
Makefileでオブジェクトファイルを指定すれば、ソース上でincludeしてない関数でも使えるっぽい。
あれ?だったらincludeってなんのためにやるんだっけ?
Makefileの記述を簡略化するため?
以前の記事によると、ソース上で使用する定義は全てソース内に(includeで引っ張ってくるのも含む)記述しておかなければならないはずだが・・・・。
うーん・・・make周りの知識も甘いな・・・。
普段スクリプト言語ばっかりいじってるから、
久々に、Cを触るときついものがあるぜ・・・。
※追記
Makefileへの追加と、やっぱりincludeも必要だった。
さっきまでinclude無しで動いていたんだが・・・。謎。
おぉ、メイクファイルは置くが深いようで浅い。
軽くイナシテクレ!
コネタ:オーバーレイをエフェクトでしか知らない貴方は最近のPです。
どこでincludeしてるか分からない罠とかありえますよ。
includeしてるhファイルの中でincludeしているhファイルとか、後で整理してて汗汁が出るような罠がいっぱい。
Toいとちん
>コネタ:オーバーレイをエフェクトでしか知らない貴方は最近のPです。
使った事ないからよくわかんなーい( ´ー`)y-~~
Toダメリーダー
>includeしてるhファイルの中でincludeしているhファイルとか、後で整理してて汗汁が出るような罠がいっぱい。
↑を解決するために、ヘッダファイルには二重インクルード防止のdefine文を追加するのがお作法な訳で・・・・。
ちゃんとしたヘッダファイルならどこでインクルードしても問題は出ないはず。
コンパイラの最適化に影響があるかは知りませんがね( ゚Д゚)y-~~