Cで2進数値を記述

を読んだら、「Rubyプリプロセス」という手があるのかと。

そんなわけでerbでプリプロセスしてみた。

binary.erb.c

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    printf("%d\n", <%= 0b1010101010101010 %>);

    return EXIT_SUCCESS;
}

cの中に、rhtml形式を導入して・・・

Makefile

test : binary Makefile
	./binary

% : %.c Makefile
	gcc -o $@ $<

%.c : %.erb.c Makefile
	erb $< > $@

make書いちゃって、

makeする

make!

% make
erb binary.erb.c > binary.c
gcc -o binary binary.c
./binary
43690

これからはC言語も自動生成ダネ。