C# C++
文章平均质量分 62
hllyzms
编程爱你不容易
展开
-
OOM,内存溢出和内存泄漏的区别是什么
而在Java语言中,由于存在了垃圾自动回收机制,所以,我们一般不用去主动释放不用的对象所占的内存,也就是理论上来说,是不会存在“内存泄露”的。但是,如果编码不当,比如,将某个对象的引用放到了全局的Map中,虽然方法结束了,但是由于垃圾回收器会根据对象的引用情况来回收内存,导致该对象不能被及时的回收。在之前没有垃圾自动回收的日子里,比如C语言和C++语言,我们必须亲自负责内存的申请与释放操作,如果申请了内存,用完后又忘记了释放,比如C++中的new了但是没有delete,那么就可能造成内存泄露。转载 2023-02-28 21:45:00 · 285 阅读 · 0 评论 -
图像预处理CV-CUDA,打破预处理瓶颈,提升推理吞吐量20多倍
然而在以往的视觉模型开发与应用中,我们更关注模型本身的优化,提升其速度与效果。例如在训练方面,字节跳动一个视频相关的多模态任务,其预处理部分既有多帧视频的解码,也有很多的数据增强,导致这部分逻辑很复杂。很多涉及到工程与产品的算法工程师都知道,虽然我们常常只讨论模型结构和训练任务这类「前沿研究」,但实际要做成一个可靠的产品,中间会遇到很多工程问题,反而模型训练是最轻松的一环了。以图像背景模糊算法为例,常规的图像处理流程中预\后处理主要在 CPU 完成,占据整体 90% 的工作负载,其已经成为该任务的瓶颈。转载 2023-02-11 10:45:00 · 654 阅读 · 0 评论 -
C++中string、char *、char[]、const char*的转换
1) char*转string:可以直接赋值。2) char[]转string:可以直接赋值。3) char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数。4) string转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数5) string转char*:调用string对象的c_str函数或data函数或copy函数。6) char[]转char*:直接赋值即可。转载 2022-12-09 21:45:00 · 2524 阅读 · 0 评论 -
AES加密解密C++实现 ECB CBC 128 192 256 六种模式 字符串十六进制二进制文件输入输出
被加密信息在两个加密函数中都单独处理,统一转成十六进制数进行加密(其实这里可以考虑用个函数,而不是像我一样复制粘贴,弄的这块儿在俩函数里边都有),使用PKCS7进行填充,长度不为十六的倍数,差多少就用这个差值进行字节填充,长度正好是十六的倍数,那就填充十六个十六,加密结果转成字符串存在本地文件里。后来我发现,它虽然能正常的加密解密,但是加密结果跟网上的版本不太一样,两个128模式是好的,192和256不行,我就又改了一下那个密钥扩展的函数,之前估计是这里写的不对。密钥位数不够的地方,也设置为补0填充了。转载 2022-12-02 19:00:00 · 1651 阅读 · 0 评论 -
C++字符串时间转换及格式化
【代码】C++字符串时间转换及格式化。转载 2022-12-01 20:33:11 · 1571 阅读 · 0 评论 -
sscanf: This function or variable may be unsafe.Consider using scanf_s instead
我们在使用vs2019或者vs2022的时候,使用sscanf函数常常会报错这个时候我们只要在开头加上即可取消警告。原创 2022-12-01 15:21:49 · 639 阅读 · 0 评论 -
C#在winform 控制台输出 cmd窗口
其实不需要这么费劲,打开一个Windows Form的工程的设置界面,在Output type选择Console Application,这样就会默认出现一个黑窗口,调用 Console.WriteLine() 函数即可正常输入输出数据,对于调试比较方便,不需要的时候改成Windows Application即可。在Winform程序中有时候调试会通过Console.Write()方式输出一些信息,这些信息是在Visual Studio的输出窗口显示。项目 右键 属性》应用程序。原创 2022-11-13 08:00:00 · 2377 阅读 · 0 评论