Fab*_*zio 4 delphi compiler-warnings
我启用了"不安全代码"警告,我想知道如何解决以下警告:
W1047不安全代码'^ operator'
此外,为什么这被视为"不安全代码"?
该文件说:
您使用的数据类型或操作静态代码分析无法证明它不会覆盖内存.此类代码可被视为安全风险.
例如,使用GetMem可以引发此警告,因为内存块没有关联类型.
实际上只有两种方法可以避免这些警告:
在某些情况下,这两个选项都很有用.例如,考虑Embarcadero的支持动态数组的Delphi RTL代码.它需要能够分配内存,并使用这种不安全的操作访问该内存.这种基础库代码需要能够使用不安全的操作.考虑到您自己的代码,如果您需要执行不安全的代码,您可能将其隔离到单个单元或单元的单个部分,并禁用该代码的警告.
到第二个项目.您可能可以使用指针使用其他构造替换代码.例如,您可能拥有使用指针算法的代码,而不是使用数组编写.
我相信引入这些警告是为了帮助开发人员将代码迁移到已经废弃的Delphi .net编译器.所以你可能会认为,既然你没有瞄准.net,你可以简单地禁用这些警告.另一方面,我可以看到启用警告可能有用的场景,并警告可能更具风险的代码区域.这是你的选择.
| 归档时间: |
|
| 查看次数: |
908 次 |
| 最近记录: |