当前位置: 首页 > news >正文

忘写return有什么现象?

使用C语言,一直觉得没有return无所谓,直到被制裁。。

参考:

非void函数缺失返回值导致crash或结果异常的分析 - 知乎 (zhihu.com)

可以分析出:

没有写return 的话,eax的内容是在预期之外的。

例如更新参考内容的解析,其中的%eax可能是由其中的子函数返回的。

    int res = print_data(data, 10);11db:       48 8d 45 d0             lea    -0x30(%rbp),%rax11df:       be 0a 00 00 00          mov    $0xa,%esi11e4:       48 89 c7                mov    %rax,%rdi11e7:       e8 64 ff ff ff          callq  1150 <print_data>11ec:       89 45 f8                mov    %eax,-0x8(%rbp)

由此吐槽一下,为什么不默认给添加一个return呢~可能有高级的用法?

其他现象:

1.for循环后直接结束,没有return,居然出现for循环条件判断异常的情况,由于没有解析出汇编没有进一步的分析。

http://www.lryc.cn/news/447716.html

相关文章:

  • 大数据新视界 --大数据大厂之 Druid 实时数据分析平台在大数据中的应用
  • MySQL --基本查询(下)
  • vue3实现自定义主题色切换功能
  • 不懂性能测试,被面试官挂了...
  • JS逆向基础-谷歌浏览器调试技巧(详细)
  • 那年我双手插兜,使用IPv6+DDNS动态域名解析访问NAS
  • CSS的弹性盒子模型(Flex box)
  • django drf 分页器
  • SpringBoot整合JPA实现CRUD详解
  • 干部画像——精准辅助干部选拔的核心利器
  • linux网络编程9
  • RabbitMQ应用
  • 大数据Flink(一百二十四):案例实践——淘宝母婴数据加速查询
  • 无限大薄板的电场
  • 外包干了1个多月,技术明显退步了。。。。。
  • 芝法酱学习笔记(0.4)——SpringBoot多模块项目打包,resource分离,lib分离,启动脚本
  • 进程(一万字学习笔记)
  • Docker实践与应用:深度探索与丰富案例
  • 信息安全工程师(21)安全协议
  • Starrocks with 嵌套
  • ubuntu 安装neo4j
  • 云计算课程作业1
  • 建筑智能,推动智慧社区发展
  • conda 虚拟环境安装GDAL
  • STM32转AT32代码转换
  • vue中怎么覆盖 sytle中的样式
  • php中打印函数
  • [单master节点k8s部署]23.构建EFK日志收集平台(二)
  • C#的属性(Property)应用说明(二)
  • VUE.js笔记