使えるよ
リンカーエラーでも出てる?
探検
Cygwin + MinGW + GCC 相談室 Part 8
レス数が950を超えています。1000を超えると書き込みができなくなります。
990デフォルトの名無しさん
2025/12/03(水) 12:52:21.06ID:yVL3HxQ8991デフォルトの名無しさん
2025/12/03(水) 12:55:52.88ID:yVL3HxQ8 あーわかった
>>989 cではなくてc++でコンパイルしな?
>>989 cではなくてc++でコンパイルしな?
992はちみつ餃子 ◆8X2XSCHEME
2025/12/03(水) 14:09:55.16ID:OnxLfrF+ >>989
C ではインライン定義は外部定義 (external definition; 要するに普通の実体ある関数) の代替を与えるというルールで、インライン定義自体は外部定義を与えない (作らない)。
呼び出しのほうは実体のある外部定義を呼び出すか代用品であるインライン定義を使うかは未規定。
インライン化用の代用品を使うかもしれないし、実体のある関数を呼び出すかもしれない。
実体のある関数を使う選択をしたときに >>989 の状況では実体のある関数は作られていないから存在しないというリンカエラーになる。
GCC でも最適化オプションを付けてインライン化されてしまったときは (インライン化されたら関数をリンクする必要がないので) エラーにならずにリンクが完了することもある。
以下のように extern 付きの宣言を付けるとインライン関数定義から外部定義の生成を強制できるのでこれで対処することも出来る。
inline void foo(void) {}
extern void foo(void);
int main(void) {
foo();
}
C++ だとインライン関数がもう少し普通の関数と扱いが平等に近づいているので分かり易いんだが……
C ではインライン定義は外部定義 (external definition; 要するに普通の実体ある関数) の代替を与えるというルールで、インライン定義自体は外部定義を与えない (作らない)。
呼び出しのほうは実体のある外部定義を呼び出すか代用品であるインライン定義を使うかは未規定。
インライン化用の代用品を使うかもしれないし、実体のある関数を呼び出すかもしれない。
実体のある関数を使う選択をしたときに >>989 の状況では実体のある関数は作られていないから存在しないというリンカエラーになる。
GCC でも最適化オプションを付けてインライン化されてしまったときは (インライン化されたら関数をリンクする必要がないので) エラーにならずにリンクが完了することもある。
以下のように extern 付きの宣言を付けるとインライン関数定義から外部定義の生成を強制できるのでこれで対処することも出来る。
inline void foo(void) {}
extern void foo(void);
int main(void) {
foo();
}
C++ だとインライン関数がもう少し普通の関数と扱いが平等に近づいているので分かり易いんだが……
993デフォルトの名無しさん
2025/12/03(水) 22:07:45.02ID:Eh+HvnbR994デフォルトの名無しさん
2025/12/04(木) 05:43:42.35ID:7puO0DHP .hの方にinlineで
.cの方にexternってことか
気持ち悪いけど納得
.cの方にexternってことか
気持ち悪いけど納得
995デフォルトの名無しさん
2025/12/12(金) 16:01:42.00ID:jYZhnAHV 今では LTO を有効にすれば翻訳単位をまたいだ最適化 (インライン化を含む) もされるし、 inline 指定をつけてもインライン化するとは限らない。
規則を理解するに越したことはないけど現代的なリッチなコンパイラでは最適化のために inline 指定をする必要性は薄いと思う。
規則を理解するに越したことはないけど現代的なリッチなコンパイラでは最適化のために inline 指定をする必要性は薄いと思う。
レスを投稿する
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【サッカー】J1昇格PO決勝戦 千葉、来季のJ1昇格が決定 17年越しの悲願叶える…オリジナル10が05年以来のJ1にそろう [久太郎★]
- 南京で「大虐殺」追悼式典 中国、高市政権をけん制 (共同通信) [少考さん★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★5 [ぐれ★]
- 【日銀】0.75%に利上げへ 来週の決定会合で、30年ぶり水準 賃金改善の継続見込む [ぐれ★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★3 [蚤の市★]
- 海外メディア、高市政権の経済政策を酷評「偽サッチャー」「自滅的」「時代遅れ」 [163661708]
- 【急募】今後、高市政権で追加されそうな税金、増税 [943688309]
- アイ・オー・データのSSD、HDD、USBメモリなど値上げ。最大54.8% [742348415]
- なかやま〜きんにくんだよ〜みたいな事言う女芸人いたじゃん?
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★3🏡
- 日本人、気づきはじめる「庶民の生活が苦しいのは金持ちが節税したりして金溜め込んでるから。大企業の内部留保もどうにかしろ」 [434776867]
