系统建模的编译器
系统建模功能使用一个 C++ 编译器为快速仿真模型构建可执行文件. 模型仿真需要在你的计算机上安装一个编译器. 如果已经安装支持的编译器,它会自动检测到并使用之,不需要进一步的操作.
该教程中的指令依赖于被加载的系统建模功能. 在运行该教程中其他指令前先运行以下输入.
安装支持的编译器
Windows
在 Windows,该功能已被完全测试并支持以下编译器:
- Microsoft Visual C++ 2015 (包括免费的 Express 版本).
- Microsoft Visual C++ 2017 (包括免费的 Visual C++ 构建工具版本).
- Microsoft Visual C++ 2019 (包括免费的 Visual C++ 构建工具版本).
- Microsoft Visual C++ 2022 (包括免费的 Visual C++ 构建工具版本).
在 Windows,可以通过运行以下命令并遵循以下步骤安装编译器:
Mac
需要安装 Apple 的 Xcode. Xcode 可以在 Mac App 店获取.
在 Mac,System Modeler 已经用 Xcode 的 Clang 全面测试过.
Linux
在 Linux,该功能已用 GCC/G++ 8.5 (32 位和 64 位) 全面测试过. System Modeler 可能适用于任何兼容此版本的 C++ 编译器,例如,任何 GCC/G++
≥ 8.5.
编译器验证和配置
本节介绍用于验证和改变编译器设置的功能. 大部分用户不会使用这种高级功能.
如果验证不成功,结果会包含一个来自编译测试的日志,指明配置的问题.
选项是指明编译器指令的规则列表,是在系统上找到的版本和高级配置选项.
高级编译器配置
也可能通过修改单个配置选项构建自定义的编译器配置.
| |
"Command" | 编译器名称 |
"Path" | 执行文件的路径 |
"Version" | 编译器版本 |
"PlatformSDKPath" | Mac SDK 的路径 |
"TargetArchitecture" | 32或 64 位架构 |
"UserCFlags"
"UserCPPFlags" | 自定义 C 编译器标志
自定义 C++ 编译器标志 |
"Command" 描述了编译器类型,应该是
"g++"、
"clang++" 或
"cl" 其中的一个.
- 对于 Microsoft Visual C++,是包含 vcvarsall.bat/VsDevCmd.bat 的目录.
- 对于 GCC/G++,是 g++ 可执行文件的完整路径.
- 对于 Clang++,是 clang++ 可执行文件的完整路径.
对于 Visual Studio,
"Version" 为
"VS2013" 或根据使用版本的类似形式.
当使用没有安装指令行工具的 Xcode 中的 clang++,有必要指明
"PlatformSDKPath". 平台 SDK 一般位于 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs.
"TargetArchitecture" 是介于
"x86_64" 和
"x86" 之间的选择.
"UserCFlags" 或
"UserCPPFlags" 中的标志作为一个单字符串无变化地传递给编译器,允许所选编译器的非常精细的控制.
防病毒和 IT 安全策略可能存在的问题
模拟
SystemModel 是通过生成 C++ 代码来完成的,该代码被编译成一个运行实际模拟的可执行文件. 默认情况下,这一切都发生在用户的临时目录下. 这可能会与操作系统强制执行的某些防病毒软件和/或 IT 安全策略产生冲突.
如果同时安装有 System Modeler,则可以对工作目录进行配置,该工作目录可以在 System Modeler 和 Wolfram 语言中的系统建模功能之间共享.
如果存在一个允许生成和执行文件的目录,则工作目录可以在 System Modeler 的 Global Options 的 General 部分更改; 否则,防病毒和安全策略必须以这样一种方式配置,以便有一个目录,允许 System Modeler 用户创建和执行可执行文件的目录.