memcpy不同类型数组exceed warning

allenbein 2012-08-28 09:25:17
unsigned short array_short[15];
unsigned char array_char[30];

array_short数组的每个元素赋值,然后

memcpy(array_char,array_short,30);

系统会给出:
Apparent access beyond array for function 'memcpy(void *, const void *, unsigned int)', argument 3 exceeds argument 2
的告警,请问如何消除这个告警?
...全文
417 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
小默 2012-08-28
  • 打赏
  • 举报
回复
它说明是你的访问超出了数组,你把数组容量调大试试看,试探一下它检查的规则
allenbein 2012-08-28
  • 打赏
  • 举报
回复
唉。。。我们是没有办法关的。。。编译代码都不是在本地做的。所以比较困难一些,这些warning level也都是公司定的,个人是没有权利修改的。
小默 2012-08-28
  • 打赏
  • 举报
回复
其实有些时候是不得不关警告的,比如在VC下写程序,只要用到strcopy或者sprintf之类的函数就会出现4996警告,我一向都是将其关闭的,因为很多时候警告是很有用的,可能指示着一个错误,但无用的警告太多了的话会让人眼花,看都懒得看了,就会埋下错误隐患,所以如果确认是无意义的警告最好就关掉。
allenbein 2012-08-28
  • 打赏
  • 举报
回复
感谢9楼,不过这两种方法我之前试过了 还是不行,比较晕的底层问题,呵呵。我的编译器可能是美国那边的,不知道具体是什么编译器,也许不是gcc或者其他熟悉的编译器,比较郁闷。vs开4级warning level编也没exceed warning吗?
yht8708 2012-08-28
  • 打赏
  • 举报
回复
vs2010 没有……
小默 2012-08-28
  • 打赏
  • 举报
回复
VS2005下试验,完全没有任何警告和错误。
要不你换成这样试试?
memcpy(&array_char[0],&array_short[0],30);
或者
memcpy((void*)&array_char[0],(void*)&array_short[0],30);
再不行就扩大数组,或者直接屏蔽警告吧。
allenbein 2012-08-28
  • 打赏
  • 举报
回复
请大家不用通过关闭、屏蔽等方法绕开问题,如果遇到告警就关闭相应开关或者宏,那软件质量何在?
Gloveing 2012-08-28
  • 打赏
  • 举报
回复
查看提示错误/警告代码的编号,比如是4244,那么在文件开始时加一句
#pragma warning(disable : 4244)
allenbein 2012-08-28
  • 打赏
  • 举报
回复
gcc或者vc的编译器应该都会出现这个warning。
退学者的游戏 2012-08-28
  • 打赏
  • 举报
回复
楼主也没有正面给出你所使用的编译器是哪款啊。
allenbein 2012-08-28
  • 打赏
  • 举报
回复
楼上没有正面解决问题啊。如果能关 我就不上来发帖了。这个问题的主旨是解决不同类型数组之间memcpy。
pathuang68 2012-08-28
  • 打赏
  • 举报
回复
关闭编译器的警告选项开关。
allenbein 2012-08-28
  • 打赏
  • 举报
回复
我顶!
内容概要:本文提出了一种基于概率调控的风光联合出力极端场景生成方法,旨在有效应对风能与太阳能发电固有的强不确定性问题。该方法融合概率统计理论与优化控制策略,通过对历史风光出力数据进行建模,采用概率分布调控技术生成具有高代表性的极端场景集,从而为电力系统在极端天气条件下的运行分析提供可靠的数据支撑。文中详细阐述了模型的构建原理、核心算法设计及完整的场景生成流程,并利用实际案例验证了所提方法在提升场景多样性和极端性方面的有效性与实用性,显著增强了电力系统在高比例可再生能源接入背景下的风险评估与决策能力。; 适合人群:具备一定电力系统基础知识和Python编程能力,从事新能源发电、电力系统规划与运行、不确定性建模、场景生成及风险评估等相关领域的研究人员和工程技术人员。; 使用场景及目标:①用于电力系统中风光出力不确定性建模与极端场景的高效模拟;②支撑含高比例可再生能源电网的可靠性评估、安全校核、调度优化与风险防控研究;③为电力系统规划、应急管理和极端事件应对提供科学依据和技术工具。; 阅读建议:建议读者结合文中提供的Python代码进行动手实践,深入理解概率调控机制与场景生成算法的实现细节,掌握参数调整对场景特性的影响规律,并可进一步将该方法拓展应用于其他不确定性电源或多能源耦合系统的场景分析中。

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧