私はいくつかのC++コードを持っています。コードには、多くのクラスが定義されています。そのメンバ関数、コンストラクタ、それらのクラスのデストラクタ、テンプレートクラスがほとんどなく、C++のものがたくさんあります。今私はソースをプレーンなCコードに変換する必要があります。 C++コードをCに変換するには
I
持って、次の質問:CコードにC++コードとヘッダファイルを変換するための任意のツールはありますか?
私はコードの総書き換えを行う必要があります(私は、コンストラクタ、デストラクタを削除して、いくつかの
init()
、deinit()
関数にそのコードを移動する必要があります。変更クラスを構造体に、それらの内の関数ポインタとして既存のメンバ関数を作ります新しく定義された構造体を作成し、関数ポインタなどを使用してそれらの関数を呼び出します)。自分で手動で変換する必要がある場合は、C++からCへの変換を実行する際に、どのC++固有のコードデータ構造体/セマンティクスに注意する必要がありますか?
@MSalters:Comeausコンパイラについてのポインタをありがとう。しかし、悲しいことに、私の目的を果たしていないのは、コンパウスの中間形式のCコードを入手することができず、たとえそれが通常のANSI-Cコンパイラでコンパイルできないとしても得られます。 – goldenmean
コードで例外やテンプレートを使用していない場合は、コードで動作するcfrontの古いコピーを入手する機会があります。しかし、MSaltersが言っているように、それは醜いだろうと言っています:-) – lothar
標準ライブラリ機能を使用しないでください。 –