ヘッダ変換
pngが使いたいがenvisionを書き直したやつだとSEGVが起きるので書き直そうとヘッダ変換してみることにした。
プリプロセッサがうざいので-Eで外すことにした。
test.c:
#include
問題点がいくつか。
gcc -E -dD test.c > test.ci #プリプロセッサの展開&マクロは残す
h2d test.ci > test.di
- castが古い形式
- typedef struct xx_tag{}xx;がalias struct xx_tag{}xx;になる(struct xx_tag{};xx_tag xx;としなければならなかったはず)
- 関数の引数のconst char*等のconstを取ってくれない
- 二重に宣言がある場合前のを取ってくれない(削除するのは前のでいいんだっけか…?)
- __builtin_va_listが無い(というかgcc -Eで展開しすぎてるから仕方ないけど。宣言削ればok。)
- #defineがごっそり削除される
面倒臭いなぁ…
svnからh2dの最新版取ってくるか書き換えてみるかな…