- 197 名前:デフォルトの名無しさん [04/11/11 18:02:27]
- 今Cのコンパイラしかないプラットフォームで開発をしていまして、
もともとC++で書いていたコードを移植しています。 クラスになっている箇所は、C++のクラスみたいに、 struct AbstractClass{ int (*funcA)(void); int (*funcB)(void); int (*funcC)(void); }; struct ConcreteClass{ struct AbstractClass _super; }; という風に仮想関数テーブルみたいなものを作ってるんですが、 struct ConcreteClass c; struct AbstractClass *abstract; abstract = (struct AbstractClass*)c; abstract->funcA(abstract); とかいちいち先頭に呼び出しのオブジェクトを入れたりするのが面倒だったり、 構造体のメンバのスコープを限定できなかったり、と色々不便です。 C++みたいなシンタクス(仮想関数テーブルとか構造体のメンバのスコープの限定とか)で書けて、 普通のC言語のコードを吐き出してくれるパーサーとかないでしょうか? 以前、昔のC++コンパイラは一旦Cのコードに変換してからコンパイルしていた、と読んだのですが、 今でもそのようなものはありますでしょうか?
|

|