使用vs2017如何进行systemc 编程

发布网友 发布时间:2022-04-20 13:16

我来回答

1个回答

热心网友 时间:2023-07-04 20:15

一、编译System库
下载SystemC library source code
下载SystemC library,目前的版本是systemc 2.3.1
以SystemC 2.3.1为例,下载后的文件名喂systemc-2.3.1.tgz,解压到工作目录下:...(个人的工作目录路径)systemcsystemc-2.3.1
打开....systemcsystemc-2.3.1msvc80SystemC目录下的SystemC.sln
systemC的软件开发环境篇
VS2012 "生成(Build英文)"-->“生成解决方案(Build Solution)”,生成SystemC.lib文件。
systemC的软件开发环境篇
如果编译成功的话(忽略那些Warning)。
在..systemcsystemc-2.3.1msvc80SystemCdebug目录下就生成了SystemC.lib
PS:编译systemc-2.3.0会遇到以下问题:
systemC的软件开发环境篇
VS2012在编译时会遇到这样的问题:fatal error C11: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.导致生成库不成功,
解决方案是:工程项目SystemC处右键Properties -> configuration Properties ->C/C++ -> Preprocessor -> Preprocessor Definitions 添加_XKEYCHECK_H。
systemC的软件开发环境篇
systemC的软件开发环境篇
然后就可以编译通过了

二、新建SystemC工程,并配置项目属性
有了编译的SystemC.lib库,我们就可以在vs2012配置我们的systemc工程属性了
新建项目,win32控制台应用程序,控制台应用程序设置时选择“空项目”。
添加.cpp源文件与.h头文件。
以下是一个简单地hello systemC的程序 功能是打印三行语句
Hello,SystemC!
by Eagleson
by Eagleson2016-01-12

源代码如下
//main.c
#include
#include "hello.h"

int sc_main(int, char**){
hello h("hello");
system("pause");
return 0;
}
//hello.h
#ifndef _HELLO_H
#define _HELLO_H
#include "systemc.h"
#include
#include
using namespace std;

void print1(string & name){
name = name + "2016-01-12";
cout<
}

SC_MODULE(hello)
{
SC_CTOR(hello)
{
cout<<"Hello,SystemC!"<
string str;
str="by Eagleson";
cout<
print1(str);
}
};
#endif
添加源文件后进行项目属性设置。
C/C++→常规→附加包含目录 (..systemc-2.3.1src)
systemC的软件开发环境篇
C/C++ →语言→启用运行时类型信息→是
systemC的软件开发环境篇
C/C++→代码生成→运行库→多线程调试(/MTd)
systemC的软件开发环境篇
C/C++→ 命令行→其它选项 加上/vmg
systemC的软件开发环境篇
Linker →常规→附加目录库 (..systemc-2.3.1msvc80SystemCDebug)
systemC的软件开发环境篇
Linker →输入→附加依赖库(SystemC.lib)
systemC的软件开发环境篇
C/C++→所有选项→警告等级 等级1(/W1)
systemC的软件开发环境篇
上述属性设置在每次建立SystemC工程时都需要设置。若想免去每次都设置的麻烦可通过以下方法。
View-->Property Manager 在左侧会有属性窗口打开。展开树形找到“Microsoft.Cpp.Win32.user”,双击之后就可以设置所有项目的属性了。
systemC的软件开发环境篇
三、编译、调试程序

systemC的软件开发环境篇
与我们预期的结果是一致的。
SystemC基于VS2012的软件平台搭建到这里就完成了。有了这个平台环境,后面的语法学习和练习就不只是纸上谈兵了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com