代码错误原因总结

本文总结了代码错误的各种原因,包括使用未初始化的变量、数组越界、空指针引用、除数为零等。此外,调试时应注意使用debug模式,确保cfg文件配置正确,避免类型推断错误和头文件互相引用。遇到编译错误,可能是类型说明符缺失或内存管理问题,如内存泄漏和非法释放。Linux环境下可能出现double free或内存越界问题。对于VS2017调试卡顿,可能涉及文件路径、编码或CMakeLists.txt配置。最后,介绍了如何正确处理码流文件、图片保存路径和CUDA库的链接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码错误原因总结

代码奔溃的原因总结:

使用没有初始化的变量

数组越界

指针指向为空,但使用了它的内容

使用的除法,但没有判断除数是否为0

调试出现错误:

应该采用debug而不是release

没有配置属性中的调试内容

属性中的cfg文件名与实际不同

结果数据一样:

cfg中QP设置成了同样的值

编译出错:

缺少类型说明符假定为int 两个头文件相互引用

Linux运行错误:

double free or corruption (!prev)
Aborted (core dumped)
new出来的数组没有delete[]

[Error] extra qualification ‘类名::‘ on member ‘类名‘ [-fpermissive]
原因:在类中定义函数时在函数名前多加了 类名

free(): invalid next size (normal)
是内存泄露的问题。
(1)一般是free了没有分配的内存
(2)还有就是分配了内存忘记释放也有可能会出现这样的问题。
(3)最后查出来是数组循环的时候越界了 , 写到了其他的内存里面, 然后一free那个区域就出现了这样的问题。

vs2017调试卡着不动:解码的时候,str_22.bin文件不存在,即码流文件不存在

cv2.imwrite() 找不到保存的图片,路径问题/文件没有加扩展名/imwrite路径不能有中文/地址前有空格/文件名过长

把以下三句加到CommonLib的CMakeLists.txt中
set(Torch_DIR “D:/libtorch/share/cmake/Torch”)
find_package(Torch REQUIRED)
target_link_libraries(CommonLib ${TORCH_LIBRARIES})

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值