コンパイラ・低レイヤ言語環境

スポンサーリンク
GCC / Clang (C言語)

【実務・中級編】C言語の『動的ライブラリ・ローディング』を制御する:__attribute__((constructor))の秘密 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:`main`関数の前に処理を走らせるという禁じ手こんにちは。テックリードの私だ。日々のC言語開発において、プログラムの実行エントリポイントといえば何を思い浮かべるだろうか。99%のエンジニアは「もちろん `int main(int...
GCC / Clang (C言語)

【入門編】C言語の『動的ライブラリ・ローディング』を制御する:__attribute__((constructor))の秘密 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!日々のC言語コーディング、楽しんでいますか?「C言語のプログラムといえば、まずは `main()` 関数から実行される」――これは、すべてのプログラマが最初に学ぶ絶対的な真実です。私も駆け出しの頃は、例外なくそう信じ切っていまし...
GCC / Clang (C言語)

【テクニカル・上級編】GCC/ClangのLTOとPGOを組み合わせた究極の実行速度チューニング:ビルドパイプラインの構築 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

GCC/ClangのLTOとPGOを極限まで融合せよ:コンパイラを物理の限界まで調教するビルドパイプライン設計コンパイラの最適化スイッチを `-O3` にして満足しているうちは、まだ初級の領域を出ていない。現代のハイパフォーマンスコンピュー...
GCC / Clang (C言語)

【実務・中級編】GCC/ClangのLTOとPGOを組み合わせた究極の実行速度チューニング:ビルドパイプラインの構築 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:なぜ「普通のビルド」では限界を迎えるのかテックリードとして多くのC/C++製低レイヤランタイムや高スループットサーバーを見てきたが、依然として多くの現場で「`gcc -O3` や `clang -O3` をつけておけば最速になる」...
GCC / Clang (C言語)

【入門編】GCC/ClangのLTOとPGOを組み合わせた究極の実行速度チューニング:ビルドパイプラインの構築 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!日々のコーディング、本当にお疲れ様です。私たちが書いたC言語のコードは、コンパイラ(GCCやClang)の手によって機械語(バイナリ)に翻訳され、CPU上で実行されます。普段何気なく使っている `-O3` という最適化フラグです...
GCC / Clang (C言語)

【テクニカル・上級編】GCCによる『セーフティクリティカルなC言語開発』:MISRA C準拠のためのコンパイラ設定と静的解析の統合 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

GCCによる『セーフティクリティカルなC言語開発』:MISRA C準拠のためのコンパイラ設定と静的解析の統合自動車(ISO 26262)、医療機器(IEC 62304)、産業機器(IEC 61508)。これらの人命に直結するセーフティクリテ...
GCC / Clang (C言語)

【実務・中級編】GCCによる『セーフティクリティカルなC言語開発』:MISRA C準拠のためのコンパイラ設定と静的解析の統合 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:セーフティクリティカル開発におけるコンパイラのパラダイムシフト自動車(ISO 26262)、医療機器(IEC 62304)、産業機器(IEC 61508)といったセーフティクリティカル領域において、C言語は依然としてハードウェアの...
GCC / Clang (C言語)

【入門編】GCCによる『セーフティクリティカルなC言語開発』:MISRA C準拠のためのコンパイラ設定と静的解析の統合 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!開発環境アーキテクトの先輩です。今日は、自動車のブレーキ制御や医療機器、航空宇宙システムなど、「絶対に止まってはならない、バグが許されない世界」で使われるC言語の開発手法についてお話しします。「C言語は自由度が高すぎて、ポインタ...
GCC / Clang (C言語)

【テクニカル・上級編】Clangの『コードカバー率』解析を極める:ソースコードの死に体を探すllvm-cov活用ガイド – 実行環境・ランタイム・コンパイラ生産性向上バイブル

Clangの『コードカバー率』解析を極める:ソースコードの死に体を探すllvm-cov活用ガイド大規模なC/C++コードベースにおいて、技術負債の最大の温床となるのは「誰も存在理由を説明できないが、怖くて消せないレガシーコード」である。長年...
GCC / Clang (C言語)

【実務・中級編】Clangの『コードカバー率』解析を極める:ソースコードの死に体を探すllvm-cov活用ガイド – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:なぜ「死に体コード」の放置はシステムを蝕むのかテックリードとして多くのC言語・組み込み系プロジェクトのコードベースを監査してきた中で、最も恐ろしいアンチパターンの一つが「誰も通らないが、誰も消せないコード(Dead Code)」の...
スポンサーリンク