今日の雑記

生きることでいっぱいいっぱい

昨日の続き

a24z が ver0.81 から ver0.91 に上がったので対応。
http://d.hatena.ne.jp/w_o/20060202#p1
Cygwin では問題なくコンパイルできる。でも D で使う都合上(と言うわけではないのだが)ライブラリだけは DMCコンパイルするわけなのだが、ここでいつも何らかのアレな状況に遭遇する。
まあ大した問題じゃないし、コンパイルスイッチでどうにでもなる問題だと思うのだけど、何かこう気持ちが悪いので対処してしまう。
具体的には、


dmc -c vm.c
(vm->regs.sp)->c = retptr;
^
vm.c(43) : Error: need explicit cast to convert
from: char const *
to : unsigned char const *
(vm->regs.sp)->c = exit_prog;
^
vm.c(45) : Error: need explicit cast to convert
from: char const *
to : unsigned char const *
push_exit( vm, exit_code, NULL, init_framesize );
^
vm.c(67) : Error: need explicit cast for function parameter 2 to get
from: unsigned char const *
to : char const *
push_exit( vm, retsub_code, pc, fi->frame_use );
^
vm.c(79) : Error: need explicit cast for function parameter 2 to get
from: unsigned char const *
to : char const *
push_exit( vm, retsub_code, pc, fi->frame_use );
^
vm.c(94) : Error: need explicit cast for function parameter 2 to get
Fatal error: too many errors
とまあこんなの。const 絡みです。結局 cast で逃げ。ってそれは対処なのか?
あと、「a24zからCの関数を呼んだときの引数」問題は、昨日のご指摘で無事解決できました。ありがとうございました。>w_oさん