3 つのコンパイル済みオブジェクト (A、B) が存在するシナリオ、および C) は同じコンパイラを使用して生成されます。バージョン:
...そして次のように仮定します:
...これらのオブジェクトの任意の組み合わせをリンクしても 安全です GCC によると。 GCC は、使用される標準バージョンに関係なく、このような場合に ABI 互換性を保証します。
ただし、オブジェクトが異なる GCC バージョンでコンパイルされ、不安定な C 標準機能が使用される場合、リンクの問題が発生する可能性があります。たとえば、GCC 4.9 および 5 でコンパイルされたオブジェクトを C 11 標準を使用してリンクすると、GCC 4.x での C 11 サポートが不安定なために問題が発生する可能性があります。
C 03、C 11、および C 17 の安定性さまざまな GCC バージョンでのサポートは次のとおりです:
以上が同じコンパイラを使用して C 11、C 14、および C 17 オブジェクトを安全にリンクできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。