编译器的故障诊断问题
编译器版本不匹配错误
描述
构建过程生成一个编译器版本不匹配错误。
行动
检查可用的支持和兼容的编译器列表金宝app
www.tatmou.com/金宝appsupport/compilers/current_release/
。升级或改变你的编译器。有关更多信息,请参见选择和配置编译器。
重建模型。
模型仿真和程序执行的结果是不同的
描述
程序生成的模型从模型模拟结果产生不同的结果。生成的源代码包含一个算术运算,生成一个带符号整数溢出。你的编译器可能没有实现包装行为带符号整数溢出条件。或者,如果您使用的是一个编译器,它支持包装,很可能你没有使用配置它金宝app-fwrapv
选择。
有关更多信息,请参见“C语言代码生成器依赖未定义行为的整数溢出。”
行动
如果你的编译器可以力包装行为,把它打开。例如,gcc编译器或基于gcc编译器,如MinGW指定编译器选项
-fwrapv
。选择一个编译器检查整数溢出。
如果你有嵌入式编码器®、开发和应用的代码替换库替换代码生成的整数签署。
生成预期的代码并产生意想不到的结果
描述
构建过程生成预期的源代码,但可执行程序产生意想不到的结果。生成的源代码看起来像预期的那样。然而,可执行程序产生意想不到的结果。
行动
做下列之一:
编译器优化级别较低。
设置编译器优化级别配置参数
自定义
。在自定义编译器优化的旗帜字段中,指定一个较低的优化级别。
重建模型。
禁用编译器优化。
集编译器优化级别来
优化了(更快的构建)
。重建模型。
有关更多信息,请参见控制编译器优化和你的编译器文档。
编译时的问题
问题 | 行动 |
---|---|
错误是出现在编译器配置。 |
确保MATLAB®金宝app支持您想要使用的编译器和版本。目前支持的列表和兼容的编译器金宝app |
环境变量设置为你的错误让实用程序,编译器、链接器。例如,安装Cygwin工具在Windows平台影响其他编译器使用的环境变量。 |
检查环境变量设置为您的系统使用 |
错误是出现在自定义代码指定的作为功能块或自定义代码。例如,代码是指一个头文件,编译器无法找到。 |
隔离问题的根源,从模型中删除自定义代码,调试和重建模型。 |
模型包括一个街区,如一块设备驱动程序,它并不适合使用当前选择的系统目标文件。 |
删除系统目标file-specific块或配置模型,使用另一个系统目标文件。 |
链接器错误了一个未定义的引用出现在模型构建的数据生成一个可执行程序的层次结构模型参考,这些条件是正确的:
|
为了解决这个问题,选择其中的一个方法:
|
LCC编译器不支持&号源文件夹的路径金宝app
描述
如果你使用LCC编译器和模型文件夹路径包含一个& (&
),构建过程会产生一个错误。
行动
从模型中删除&文件夹路径。然后,重建模型。
LCC编译器可能不支持行快速加速代码的长度金宝app
描述
如果你编译快速加速代码,LCC相关的编译器可能会生成一个错误行限制。快速加速代码可以由于模糊线长度更长。
行动
使用编译器编译快速加速代码支持更长的代码行。金宝app
相关的话题
- 选择和配置编译器
- 选择C或c++编程语言
- 编译器的故障诊断问题
- 选择构建方法和配置构建过程
- 实时系统的构建过程工作流
- 重建一个模型
- 减少构建时间参考模型通过使用并行构建
- 控制再生的模型代码
- 代码迁移到另一个开发环境
- 概要文件代码执行速度
- 控制编译器优化
- 选择和配置C或c++编译器
- 可执行程序代