DPI-CでC++接続(import)

DPI(Direct Programming Interface)-C では C言語とのインターフェースになります。
なので、C++だと接続出来ません
ということで、SystemVerilogに接続する関数を C言語にみせることで接続することが可能です。
今回はimport(SystemVerilogからC関数をコール)です。

記述例(c_main.cpp)
#include<string>
class person {
public:
string name;
int age;

void show() {
printf("--- name:%s, age:%d ---\n", name, age);
} //内容を出力するメンバ関数
};

exturn "C" {
int c_main ( void ){
person taro;
taro.name = "Taro";
taro.age = 25;
taro.show();

return 0;
}
}
exturn "C" で指示することで、接続することが可能になります。
もちろん、exturn "C"{} 内で newなどを記述することは出来ないですが。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数