タグ

tipsとcに関するromans12のブックマーク (4)

  • 目指せプログラマー!

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。

  • いやなブログ: Cのポインタを整数に変換する

    Cのポインタを整数に変換する Cのポインタを整数に変換したいときがあります。このとき問題になるのは、ポインタのサイズが int と同じとは限らないということです。たとえば、 x86_64 の 64ビットのバイナリでは sizeof(int) = 4, sizeof(void *) = 8 となります。ポインタと同じサイズの整数を使いたい場合は C99 で導入された stdint.h で提供される intptr_t または uintptr_t を使います。 stdint.h には他にも int32_t や int64_t など、サイズつきの整数の型も提供されています。たとえば、uint64_t を使うと、64ビットの符合なし整数を扱うことができます。 私の場合、C++ のプログラムで void * から直接 uint64_t にキャストしようとしてはまりました。次のプログラムを x86_32

  • GNU コンパイラ集(GCC) の使い方と移植について

    Node:Top, Next:G++ and GCC, Previous:(dir), Up:(dir) Introduction このマニュアルでは、GNU コンパイラの使い方、インストール方法、移植方法や、新しい機能や互換性の無い部分、それにバグレポートの方法などについて説明している。GNU CC のバージョン 2.95 に対応している。(日語版ドラフト-17 July 2001) G++ and GCC: C や C++ のプログラムがコンパイル可能Invoking GCC: gcc のコマンド行オプションInstallation: GCC のインストール方法C Extensions: C 言語の GNU の拡張C++ Extensions: C++ 言語の GNU の拡張Gcov: gcov: GCC のテストカバレージプログラムTrouble: GCC のインストールで問題が起

    romans12
    romans12 2006/06/28
    __attribute__について。マニアック
  • 動的引数

    可変個数の引数の作成 これまで、C言語で用いてきた標準関数の中で printf()関数やscanf()関数のような汎用的で、特異な関数があります その機能は以前説明しましたが しかし、printf()関数のように引数の数が固定でない関数を、私たちはまだ作れません ここでは引数の数を可変的に受け取れる関数を作成してみましょう まず、プロトタイプで引数の数は固定ではないことを示します そのためには3つのピリオドからなる...を用います void function(第一引数 , ...) この場合でも、必ず第一引数は固定になります 可変にすることができるのは、第二引数以降になります これで、可変個の引数を受け取ることができる関数を作成することができました 次に受け取った引数にアクセスする必要があります 可変個の引数にアクセスするには、まずstdarg.hヘッダファイルをインクルードします そして

  • 1