タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

cに関するtodogzmのブックマーク (3)

  • iPhone 開発に使える C99 仕様と gcc 拡張 - 2009-04-23 - Windchase

    iPhone アプリの開発には、コンパイラとして gcc 以外を使うことは基的にありません。 したがって、gcc に実装されている C99 仕様や gcc 拡張仕様を気がねすることなく利用することができます。 ここでは、便利な C99 仕様や gcc 拡張を紹介します。 配列の動的確保 (C99) 配列を定義するときに、動的にサイズを指定してメモリを確保することができます。 従来は、 int n = 100; char* buf = alloca(n); のように alloca を使っていたところを、 int n = 100; char buf[n]; と、言語仕様の範囲内で、より直観的に書けるようになりました。 case の範囲指定 (gcc 拡張) 従来、switch 〜 case で switch (n) { case 0: case 1: case 2: case 3: proc

    iPhone 開発に使える C99 仕様と gcc 拡張 - 2009-04-23 - Windchase
  • 2008-03-30

    from Yendot… コメントに「これはひどい…」とあったので、見てみるが…確かにこれはひどい 。タイトルは勢いあまってる程度とするにしても、解説の内容がとにかくひどい。つうか、サンプル動かねえw C/C++のポインタの機能--参照渡しのような処理って、タイトルもさることながら、1ページ目から突っ込みどころ満載である。 ちょっと見てみよう。 ポインタ変数の宣言 ポインタ変数の宣言では、一般の変数の場合とは異なり、名称の先頭に*がつけられる。以下はnというポインタ変数を宣言する例である。ここでは、*nが表す値のデータ型はintとなるが、それ以外のデータ型でポインタ変数を宣言すれば、*nはその型の値を表すことになる。 int *n; /* int型の値を表すポインタ変数nの宣言 */ int n; /* 一般の変数 n を宣言する場合 */ ここまではよい。単純に宣言の書き方と、その宣言が

    2008-03-30
    todogzm
    todogzm 2008/03/31
    久々にCに関する記事(元記事)を読んだけど、おかしいことは分かった。何がおかしいと感じたかまではすぐに思い出せなかったんだけど、本記事を読んで、納得。
  • ホワット・ア・ワンダフル・ワールド libtcc を使えば C は高階関数型言語になる

    ふと,qsort の第四引数に直接 C のコード片を渡せたら面白いんじゃないか ? とか思って,TCC を使ってみたら簡単にできました. つまり,こういうこと qsort(... , compile("int lambda(int *x, int *y) {return(*x>*y)?1:(*xtcc-0.9.23.tar.gz とかを持ってきて,tar xvf して configure ; make して su して make install しておいてください.TCC には,普通の爆速 C コンパイラ tcc と,C 言語のコード片を機械語に変換するライブラリ libtcc.[h/a] が含まれています.libtcc の API については,libtcc で C のソースコードを eval などを. ソースは,一見長めに見えますが,これは単に,libtcc.h で API として公開さ

    todogzm
    todogzm 2007/12/15
  • 1