タグ

Cに関するlike_futsalのブックマーク (5)

  • ゆずさん研究所

    static int s1 = 0x7fffffff; static int s2 = 0x12345678; int main(int argc, char **argv) { s1 = 0x7f7f7f7f; s2 = 0x87654321; return 0; } .symtabは、シンボルに関する属性情報(そのシンボルがメモリ上に実体を持つセクションのセクション番号と、当該セクション先頭からのオフセット、オブジェクトサイズ、シンボルタイプ(変数か関数か))を一元的に管理するセクションである。シンボルが初期値を持つファイルローカルな変数の場合、そのバイト実体は、.dataセクションに作成される。 $ readelf -s main.o Symbol table '.symtab' contains 17 entries: Num: Value Size Type Bind Vis N

    ゆずさん研究所
  • C言語のバグ回避をするための習慣 - Qiita

    概要 C言語でコーディングする上で気をつけている点などをまとめて見ました。 但し、書き方は人それぞれなので違和感を覚える人もいるかもしれませんが、 もし間違っている点がありましたらご指摘お願い致します。 目的 C言語について文法はある程度理解はしたが、その先がわからない。 という人向けにこんな感じでコーディングすればバグが減るかも。 という指針的なものを提供したかったです。 条件判定時の習慣 基的にはテストを行う部分ではありますが、急いでいたりすると 意外な盲点に気付かずにそのままスルーしてしまう事がよくあります。 多少面倒かもしれませんがちょっと書き方を工夫する事でミスを事前に回避できます。 変数の位置 条件判定の時、変数を左に書きたくなります。皆さんその方が理解しやすいと思います。 でも以下の書き方はやらない方が良いです。 何故ならうっかりミスで==を=にしてしまった時に気付かない可

    C言語のバグ回避をするための習慣 - Qiita
  • 関数ポインタにおけるtypedefに関して - プログラマ専用SNS ミクプラ

    フォーラム(掲示板)ルール フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code] と [/code] で囲って下さい。詳しくはこちら

  • restrictキーワード - yohhoyの日記

    C99で追加された restrict キーワードについてのメモ。 コンパイラに対して「aliasが存在しないと仮定した最適化を許す」と伝えるためのキーワード。C99以降でのみ有効なキーワードであり、C++11現在でもC++には同キーワードが存在しない。(ただしコンパイラの独自拡張として、C++言語でもrestirctキーワードを使えるケースはある。) 要約: 構文的にはconstやvolatileキーワードと同列で、ポインタ型に対してのみ型修飾を行える。int * restrictなど。restrict intやint restrict *はill-formed*1。 コンパイラでの最適化を助けるためのもの。restrictキーワードを削除してもプログラムの意味は変化しない。 用法と意味 restrictキーワードの用法は、C標準ライブラリmemcpy関数/memmove関数における動作仕

    restrictキーワード - yohhoyの日記
  • [法大奥山研究室]C言語:1.2. コンパイルと実行方法

    1.2. コンパイルと実行方法 プログラムが一つのソースファイルから構成される場合のコンパイルと実行方法です。 * プログラムが複数のソースファイルから構成される場合については後述。 UNIX系 OS(Mac OS X を含む) ターミナルからソースファイルのあるディレクトリに移動して次を実行。 % cc ソースファイル名 コンパイルに成功する(エラーが何もないと)とカレントディレクトリに a.out なる実行ファイルが出来上がる。実行方法は次の通り。 % ./a.out 商用版コンパイラ UNIX系 OS の場合,C のコンパイラは標準で付属するが,そうでない場合,自らがフリーのものをダウンロードしてインストールするか,商用版(有料)を使うしかない。この場合,コンパイル方法は各コンパイラのマニュアルを参照のこと。 [例]Win32(Windows 32-bit)用 Borland(bcc

    like_futsal
    like_futsal 2016/10/21
    [GCC] [コンパイラ]
  • 1