C++23 で導入された新機能である enumerate と ranges
あるホットな関数におけるパフォーマンス最適化で、内部ループがボトルネックとなり、AIからの提案としてenumerateとrangesが利用可能になったため、関連資料を調査した。
あるホットな関数におけるパフォーマンス最適化で、内部ループがボトルネックとなり、AIからの提案としてenumerateとrangesが利用可能になったため、関連資料を調査した。
C++ Linux サービスでクラッシュが発生しました。そのサービスは、ある静的ライブラリを使用してコンパイルされています。 静的ライブラリが変更され、ヘッダーファイルにメンバー変数が追加され、静的なバイナリライブラリが再リリースされました。 サービスは新しいバイナリライブラリに依存しており、正常にコンパイル・実行されますがクラッシュします。クラッシュ箇所は明らかに問題ありません。以前のコンパイラアップグレード時の未定義動作や、信頼できないスタックトレースと類似しています。 サービスを再コンパイルする際に、依存するヘッダーファイルを更新することで、正常にビルドおよび実行できるようになりました。 これはなぜ発生したのか、どのようなコンピュータ知識が関係しているのかを詳しく説明します。メモリレイアウトに関連していると推測し、具体的な例を用いて詳細に説明します。