2010-12-08 10 views

答えて

0

いいえ、そうではありません。インライン化は、構文解析ツリーの操作であり、インラインコードのホストソースとドナーソースの両方にソースコードへのアクセスが必要です。

静的ライブラリは、使用する時点でソースからバイナリにコンパイルされているため、インライン展開はできません。インライン化されていないが


、コードも「適切」であると(それがすべてで静的ライブラリにコンパイルしてしまったと仮定すると)うまく機能します。

+0

こんにちはアレックス、これは私の疑いです。あなたの主張に言及してください。一般に、この情報をどこで調べるべきですか? – Andrew

+1

珍しい場合を除き、否定的な主張を支持するための参照を求めるのは妥当ではありません。 – Yttrill

+0

http://crazyeddiecpp.blogspot.com/2010/12/inline-functions-and-you.html –

0

まあ、インライン関数を呼び出すことさえしようとしても、その宣言はコールサイトで見ることができなければなりません。それがinlineの場合、コンパイラはインライン化するか、要求を完全に無視します。

最終的な製品にリンクするときに、ライブラリでインライン化されたインライン宣言されていない関数がインライン展開されているのではないかと疑問に思うなら...これは実装に依存し、それをライブラリにしたので)、それを再びインライン化できるかもしれません。どこにでもインライン展開されていても、実装には定義が含まれるようにする必要がありますが、すべては実装に依存します。

http://crazyeddiecpp.blogspot.com/2010/12/inline-functions-and-you.html

関連する問題