大佬教程收集整理的这篇文章主要介绍了c – std :: copy导致错误,无异常,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
int parseInt(const char* data,unsigned int* ind) { int i; std::copy(&data[*ind],&data[*ind+sizeof(int)],&i); // i) STD::COPY // memcpy(&i,&data[*ind],sizeof(int)); // ii) MEMcpy std::cout << "--> " << i << std::endl; *ind += sizeof(int); std::cout << "OK" << std::endl; return i; }
在debian上,这段代码可以正常工作i)STD :: COPY.
然后,我编译并运行嵌入式Arm上的代码(sizeof(int)也是4).带有i)的代码似乎也在运行,在@L_618_8@内打印预期.
但是,从@L_618_8@返回时会导致问题.
我试过也回1;而不是我,但相同.它没有抛出异常,也没有给出任何线索.我无法调试,因为我无法添加调试器,因为我有限制.
std::cout << "PARSING..." << std::endl; parseInt(data,&ind); std::cout << "PARSED!" << std::endl; ...
给出这个(值11是正确的):
PARSING... --> 11 OK
然后这个过程冻结了.
但是,当我使用ii)MEMcpy而不是std :: copy时,代码可以工作.因此,由于std :: copy,我似乎出现了这个问题.
有谁知道这里可以发生什么?
我是否错误地使用std :: copy?但那么为什么它适用于debian桌面而不是arm on embedded?
以上是大佬教程为你收集整理的c – std :: copy导致错误,无异常全部内容,希望文章能够帮你解决c – std :: copy导致错误,无异常所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。