c

C99未定義の動作を試すとこうなる

c

このコードはC99としてコンパイルすることが出来る。(注: 最近のgccでは問題の式について警告を発します) #include <stdio.h> int print(int num, int args[]) { int i; for(i = 0; i < num; ++i) { printf("%d", args[i]); } return 1; } int main() { int a = 2; r</stdio.h>…

薄氷のようなSDL

c

こないだ導入したruby/sdlだけど、サンプルをくるくる回しながら、ちょいとSDLのマニュアル見てみると、描画オペレーションがBitBlt系とドット打ち位しかないことに今更気付いた。ドット打ちさえあれば、直線はプレゼンハム、円はミッチェナーのアルゴリズム…

C言語インタプリタCINT

c c++

CINT is an interpreter for C and C++ code. http://root.cern.ch/drupal/content/cint 以前からC言語インタプリタがこの世にあることは知っていたけど、ようやく具体例を見つけた。 曰く、標準に大体従っているらしい。 移植性が素晴らしい。ライセンスも…

fizzbuzz preprocessor

c

C++テンプレートメタプログラミングの例があるなら、C言語プリプロセッサメタプログラミングの例があってもいいと思うの…… #include <boost/preprocessor.hpp> #define FIZZBUZZ_PROC(z, i, _) \ puts( \ BOOST_PP_IF(BOOST_PP_MOD(i, 3), "", "Fizz") \ BOOST_PP_IF(BOOST_PP_MOD(i,</boost/preprocessor.hpp>…