RL78でC++を利用する(CC-RL)

こんにちは。onotです。

CC-RLのページで,C++を正式にサポートしたことがアナウンスされました。(V1.14.00以降)

プロジェクトにC++ソースファイルを追加してビルドしてみると,たしかに成功します。
("class" は定義されていないというようなエラーは出ません)

------------------------------
hello.cpp
------------------------------
class MyClass {
private:
int number;

public:
MyClass(int n) {
number = n;
}

int GetValue() {
return number;
}
};
------------------------------

他方,CS+の「コード生成」は 「r_main.c」など,Cソースファイルしか吐き出してくれません。
C++で書いたコードを利用するには,Cからラッパーを介して呼び出すイメージになるのでしょうか?

よろしくお願いいたします。

  • こんにちは,onotです。
    「RL78コード生成ツール」のリリースノートを見ました。(R20UT5255JJ0101)

    このなかで
    「6.2.22 C++プロジェクトの非対応について」と題して
    コード生成はCのみであることを明確に謳っているようです。。。


    6.2.22 C++プロジェクトの非対応について
    コード生成は、C++プロジェクトに対応していません。 そのため、C++プロジェクトでコード生成を使用しないでください。 C++プロジェクトでコード生成を使用した場合、ビルド時にビルド・エラーが発生する可能性があります。

    コード生成も早くC++に対応してくれることを願います。

  • 標準的な実装がされていれば
    extern "C"を使ってやれば良いはずですね。
    現状ではツールで生成コードに出せないからビルドが通らないという話なんだと思います。