SystemC: 哈罗,暖个身吧

环境建立

先从这里下载 SystemC 2.3.3 到目标资料夹下(或者从这里下载其他版本)
记得准备好 compiler(这边使用gcc) 和 make,并在同个位置执行以下指令进行安装
(安装路径可以任意设定,这边用 /usr/local/systemc-2.3.3)

tar -xzf systemc-2.3.3.tar.gz
cd systemc-2.3.3
mkdir objdir && cd objdir
../configure --prefix=/usr/local/systemc-2.3.3
make
make install

Hello, World!

不多说,你懂的,就是在哈罗
sc_main 先当作 main 来理解就好
sc_module 则是 SystemC 的基本模组

//main.cpp
#include "systemc.h"

class HELLO : public sc_module{ 
public: 
        HELLO(sc_module_name name) : sc_module(name){ 
                cout<<"Hello, SystemC!"<<endl; 
        }
};

int sc_main(int argc,char** argv){
        HELLO hello("hello");
        return 0;
}

编译时指定 link library 以及执行时指定 library 的位置就不多说了
以下是准备好的懒人包 Makefile
注意编译的时候选的 c++ standard 版本要和 SystemC 一样(这边用C++14)

#Makefile
LIB_DIR=-L/usr/systemc/lib-linux64
INC_DIR=-I/usr/systemc/include
LIB=-lsystemc

export SYSTEMC_HOME=/usr/systemc
export LD_LIBRARY_PATH=$(SYSTEMC_HOME)/lib-linux64

SRC=main
APP=hello

all:
        g++ -o $(APP) $(addsuffix .cpp, $(SRC)) $(LIB_DIR) $(INC_DIR) $(LIB) -std=c++14

clean:
        rm -rf $(APP)

run:
        ./$(APP)
                  

再来就可以执行罗

$ make run
./hello

        SystemC 2.3.3-Accellera --- Apr 15 2021 18:09:56
        Copyright (c) 1996-2018 by all Contributors,
        ALL RIGHTS RESERVED
Hello,SystemC!

<<:  [VSCode Extension] VSCodeVim: 系列文目录

>>:  [Day6] 初见输入系统

Day 25 (Js)

1.= (1)=设值 (2)= =比较 (3)= = =型态 (4)=> 箭头函式 var x...

Day 17-隔离框架 (isolation Framework) - NSubstitute 基本介绍-2 (核心技术-9)

NSubstitute 基本语法前言 今天的文章主要参考於 NSubstitute官方网站,正所谓工...

【第八天 - Quick Sort 介绍】

Q1. Quick Sort是什麽 与前天介绍的 bubble sort 一样,是一种计算排序的方法...

DAY27-JAVA的集合物件

集合物件(collection)是指一群相关联的资料,集合在一起组成的一个物件。在集合物件里的资料称...

Day 24 - 云端服务评估业务篇

从入职到现在也帮助部门开发了许多的平台和应用服务,而原本虚拟主机的签约也快到期了,然而前阵子除了接触...