タグ

gccに関するdelegateのブックマーク (4)

  • C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と

    C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • 鬼斬: ターゲット環境/クロスコンパイラの構築方法

    delegate
    delegate 2013/12/04
    [クロスコンパイラ構築」
  • PIE (位置独立実行形式) を作成する - bkブログ

    PIE (位置独立実行形式) を作成する 通常、PIC (位置独立コード) は共有ライブラリに用いられますが、Linux 上で最近の GCC, Glibc および GNU Binutils を使うと、実行ファイルも位置独立にすることができます。記事では PIE (位置独立実行形式) を作成する方法と特徴を紹介します。 PIE の基 それでは例を見てみましょう。次のようなファイル foo.c があるとします。 #include <stdio.h> void foo() { printf("hello\n"); } int main() { foo(); return 0; } このファイルを -fPIE というオプションをつけてコンパイルし、 -pie というオプションをつけてリンクすれば PIE を作成できます。出来上がったファイルは普通に実行できます。 % gcc -c -fPIE

    delegate
    delegate 2010/02/15
  • ARM gcc バッドノウハウ集

    Kunihiko IMAI <bak@d2.dion.ne.jp>2009 年 1 月 11 日 ARM gcc にまつわるいやらしい現象とその対策をまとめてみました. 1. はじめに 2. 責任の放棄 3. 想定している読者と環境 4. アラインメント 4.1 アラインメント条件を満たさないと 4.2 由緒正しい対策 4.3 バッドノウハウな対策 5. パディング 5.1 例 5.2 由緒正しい対策 5.3 バッドノウハウな対策 6. char 型 6.1 例 6.2 由緒正しい対策 6.3 バッドノウハウな対策 7. soft fp と hard fp 7.1 一般的な問題 7.2 ARM 固有の問題 8. EABI と legacy ABI 8.1 ABI とは 8.2 ABI の種類 8.3 違い 8.4 見分けかた 8.5 Debian での対応状況 8.6 影響と対策 8.7

  • 1