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

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

【実務・中級編】未定義動作(UB)を徹底駆逐!UBSan(UndefinedBehaviorSanitizer)による実行時監視の現場 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:なぜあなたの書いたCコードは、テストをすり抜けて本番で爆発するのかテックリードとしてコードレビューを行っていると、次のようなコードにしばしば遭遇する。int calculate_offset(int base, int index...
GCC / Clang (C言語)

【入門編】未定義動作(UB)を徹底駆逐!UBSan(UndefinedBehaviorSanitizer)による実行時監視の現場 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!開発環境アーキテクトの先輩です。C言語での開発、楽しくも奥が深くてワクワクしますよね。でも、こんな経験はありませんか?「ローカルのテストでは完璧に動いたのに、本番環境や別の人間のマシンでビルドしたら突然セグメンテーション違反(ク...
GCC / Clang (C言語)

【テクニカル・上級編】GCC/Clangのプロファイリング機能「Gprof」と「Clang PGO」でボトルネックを可視化する – 実行環境・ランタイム・コンパイラ生産性向上バイブル

伝説のアーキテクトが説く:プロファイル駆動最適化(PGO)による限界突破の極意多くのエンジニアは「高速なコードを書くこと」に囚われがちだが、真のシステムアーキテクトは「コンパイラに実運用環境の真実を伝え、限界まで機械語をねじ曲げさせること」...
GCC / Clang (C言語)

【実務・中級編】GCC/Clangのプロファイリング機能「Gprof」と「Clang PGO」でボトルネックを可視化する – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:なぜ「なんとなくの最適化」は失敗するのかテックリードの私たちが、レガシーなC言語コードベースやパフォーマンスクリティカルな組み込み・インフラ系ソフトウェアの改修を行っている際、幾度となく直面する問題がある。それは、「開発者の直感や...
GCC / Clang (C言語)

【入門編】GCC/Clangのプロファイリング機能「Gprof」と「Clang PGO」でボトルネックを可視化する – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!開発現場で日々コードと向き合っていると、「どうしてこの処理、こんなに時間がかかるんだろう……」と頭を抱える瞬間がありますよね。感覚で「ここが重いはずだ」と当たりをつけてリファクタリングしてみたものの、実際には全然違う場所がボトル...
GCC / Clang (C言語)

【テクニカル・上級編】GCC/Clangの診断プラグイン活用術:Clang Static Analyzerで独自チェックルールを自作する – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:標準の静的解析の「その先」へコンパイラの警告フラグをどれほど厳格に設定しようとも、`-Wall -Wextra -Werror -pedantic` の彼方にある「プロジェクト固有のドメイン知識に根ざした規約違反」や「暗黙のAPI...
GCC / Clang (C言語)

【実務・中級編】GCC/Clangの診断プラグイン活用術:Clang Static Analyzerで独自チェックルールを自作する – 実行環境・ランタイム・コンパイラ生産性向上バイブル

はじめに:なぜ「標準の警告」だけでは大規模Cプロジェクトが崩壊するのかテックリードとして数百万行規模のC言語製ミドルウェアや組込みファームウェアのコードベースに向き合っていると、ある残酷な現実に行き当たります。`-Wall -Wextra ...
GCC / Clang (C言語)

【入門編】GCC/Clangの診断プラグイン活用術:Clang Static Analyzerで独自チェックルールを自作する – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!日々のC言語での開発、お疲れ様です。大規模なプロジェクトになると、「ポインタの解放忘れ」や「独自の命名規則違反」「非スレッドセーフな関数の一時的な混入」など、コンパイラ標準の `-Wall -Wextra` だけではどうしても防...
GCC / Clang (C言語)

【テクニカル・上級編】組込み開発でのGCC活用術:リンカスクリプトとセクション配置の深い話 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

組込み開発の深淵:GCCリンカスクリプトとセクション配置のアーキテクチャ設計組込みシステムの開発において、メモリマップの制御は製品の生死を分ける生死線である。数キロバイトから数十メガバイトの限られたSRAM、Flash ROM、そして外部S...
GCC / Clang (C言語)

【実務・中級編】組込み開発でのGCC活用術:リンカスクリプトとセクション配置の深い話 – 実行環境・ランタイム・コンパイラ生産性向上バイブル

組込み開発におけるGCCとリンカスクリプトの深淵:ハードウェア制約をねじ伏せるメモリ配置デザインこんにちは。テックリードの私だ。日々の組込み開発において、「RAMが足りない」「特定の高速SRAMにクリティカルなISR(割り込みサービスルーチ...
スポンサーリンク