游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2442|回复: 6

关于递归函数是否能内联的问题

[复制链接]

7

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2007-4-2 20:21:00 | 显示全部楼层 |阅读模式
请问递归的函数编译器给内联吗?内联以后代码扩展?怎样测试它是否被内联了?麻烦各位老大给小弟大致讲讲,谢谢。
[em24]

6

主题

74

帖子

100

积分

注册会员

Rank: 2

积分
100
发表于 2007-4-2 21:42:00 | 显示全部楼层

Re:关于递归函数是否能内联的问题

可能内联,如果调用者和函数在一个编译单元的话,直接看汇编码就可以知道是否内联了

7

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
 楼主| 发表于 2007-4-2 22:59:00 | 显示全部楼层

Re: 关于递归函数是否能内联的问题

好像没有内联,汇编代码里面有call XXXXXXX

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2007-4-3 11:07:00 | 显示全部楼层

Re:关于递归函数是否能内联的问题

只能展开最顶层

18

主题

279

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
发表于 2007-4-3 18:06:00 | 显示全部楼层

Re:关于递归函数是否能内联的问题

只展开前N层,之后调用该函数,N由编译器决定,比如VC由效能分析器决定展开层数。
好像没有内联,汇编代码里面有call XXXXXXX

你看的是调试模式生成的代码吧?大多数编译器不会在调试模式中理会inline的。

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-4-4 12:01:00 | 显示全部楼层

Re:关于递归函数是否能内联的问题

有可能而已…
inline关键字的作用域是可怕的…天知道它什么时候会内联
参见马肝前段时间推荐的那本C++设计的书。

12

主题

217

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2007-4-8 20:19:00 | 显示全部楼层

Re:关于递归函数是否能内联的问题

?嚷???w是不可能完全展?的,??的?r候怎么可能知道??{用深度有多大,?不合??.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-4-12 14:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表