作者godfat (godfat 真常)
看板PLT
标题Re: [问题]如何去get C variable的scope ?
时间Thu Jun 26 12:14:29 2008
※ 引述《allstarschh (allstars)》之铭言:
: 这里面.......好像就没有scope的information???
: 或者是由上面的某个memory address来知道scope information??
gdb 我没用过,不过既然是 lexical scoping,
那麽 compile time 即可确定 name resolution,
runtime 完全用不到这个资讯,当然就会丢弃了
: 不过在maint print symbols
: 可以看到有Blockvector 的东西
: 而这block number 的index
: 就跟我说的scope number 一样
: 由这个Blockvector 就可以来作variable的binding了
我查了一下 maint print symbols, 好像是 gdb 的功能?
也就是说,如果你用 gcc 开 debug 模式,可能抓得到这个资讯吧?
不过这理所当然不是标准 c 就是了
你是想做什麽东西?为什麽需要这个资讯?
也许必须用一些间接方式才行,例如如果是 c++ 的话,
把你的 get_scope_number_and_print(); 改成某个 scope guard 之类的
--
Hear me exalted spirits. Hear me, be you gods or devils, ye who hold
dominion here:
I am a wizard without a home. I am a wonderer seeking refuge.
Sacrifice
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.121.85