スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SystemCのデータ型だけ利用する

SystemC Advent Calendar2012 の 7日目の記事です。
このやり方はたぶん推奨されていないと思いますので、
使う際は自己責任で。


C/C++プログラミングにおいてSystmeCのデータ型だけ
使いたいことがたぶんあると思います。

  • サンプルコード(main.cpp)
  •  1|#include <stdio.h>
     2|#include <systemc.h>
     3|
     4|int main (int argc, char* argv[]) {
     5|
     6|  sc_uint<8> a,b;
     7|  sc_uint<9> c;
     8|
     9|  a = 2; b = 30;
    10|  c = a + b;
    11|
    12|  cout << "a = " << a.to_string() 
    13|       << ", b = " << b.to_string() 
    14|       << ", c = " << c.to_string()
    15|       << endl; 
    16|
    17|  return 0;
    18|}

このコードをコンパイル、リンカすると次のようなエラーが出ると思います。
(出なかった場合は普通に使えますね!)

//libsystemc.so: undefined reference to `sc_main'
collect2: ld returned 1 exit status

※ Install Directory : SystemCがインストールされている場所
※ Arch : lib-linux or lib-linux64 などになると思います。(Linuxの場合)

しかし、このようにコンパイル、リンカするとエラーが解消されます。

$> g++ $(FLAGS) main.cpp -o main $(SYSTEMC_LIB_DIR)/libsystemc.a

※ SYSTEMC_LIB_DIR : <Install Directory>/<Arch> です。
これで、「main」という実行形式が出来るので実行してみると、

$> ./main 
a = 2, b = 30, c = 32

という形で実行出来ました!


注意


  • 使う際は自己責任で。
  • このやり方は SystemC-2.2でしか出来ないようです。
    SystemC-2.3で出来た方は教えてください。

    SystemC-2.3でも出来ました。
    libtool使ってて別のエラー出ていました。
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
07 | 2017/08 | 09
- - 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 31 - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。