有三种方法可以获得Linux的函数调用堆栈,参见CALL STACK TRACE GENERATION
。
在这里简单分析一下文中提到的四个方案:
方法1 GCC内置函数__builtin_return_address
方法2 Glibc中的backtrace函数
方法3 Jeff Muizelaar实现的增强backtrace,除了函数名,还能获得代码行号
方法4 libunwind...
分类:
系统相关 时间:
2014-12-31 18:35:25
阅读次数:
461
a.c: 1 /************************************************************************* 2 ...
分类:
其他好文 时间:
2014-12-29 11:44:05
阅读次数:
212
1.type[-tPa]name:查看指令是bash内建的,还是外部指令,参数:1)-t:当加入-t参数时,type会将name以底下这些字眼显示出他的意义,file,外部指令;alias,表示该指令为命令别名所设定的名称;builtin:表示该指令为bash内建指令2)-P:如果后面接的name为外部指令时,才会..
分类:
其他好文 时间:
2014-12-24 06:27:27
阅读次数:
237
测试机器:Ubuntu14.04 64位gcc编译32位程序,添加参数-m32:$ gcc -c -fno-builtin -m32 TinyHelloWorld.c ld链接32位代码,添加参数-melf_i386:$ ld -static -melf_i386 -e nomain -o Tiny...
分类:
系统相关 时间:
2014-12-22 16:10:22
阅读次数:
1202
毫秒延时函数:mdelay()微妙延时函数:ndelay()1 #ifndef mdelay2 #define mdelay(n) (/3 (__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000)...
分类:
系统相关 时间:
2014-12-11 12:08:16
阅读次数:
485
1. sys模块
1) 处理命令行参数
2. 查询扩展模块路径
sys.path
3. 使用sys模块查找内建模块
builtin_module_names 列表包含 Python 解释器中所有内建模块的名称
sys.builtin_module_names
使用sys模块查找已导入的模块
print sys.modules.keys()
4. 使...
分类:
其他好文 时间:
2014-12-05 14:25:00
阅读次数:
141
先来几个链接:(1)https://gcc.gnu.org/onlinedocs/gcc-4.3.6/gcc/Vector-Extensions.html(2)https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html(3)https://gc...
分类:
其他好文 时间:
2014-12-04 11:57:48
阅读次数:
215
#define nn_fast(x) __builtin_expect ((x), 1)#define nn_slow(x) __builtin_expect ((x), 0)__builtin_expect目的是提供分支信息给编译器,让编译器优化代码,减少指令的跳转带了的性能下降。处理器里有很多处...
分类:
其他好文 时间:
2014-11-16 11:53:10
阅读次数:
125
我目前使用的版本是2.7.6>>> help (range)Help on built-in function range in module __builtin__:range(...) range(stop) -> list of integers range(start, stop...
分类:
编程语言 时间:
2014-11-13 00:18:46
阅读次数:
298
第一篇主要是整体的步骤,其实中间遇到很多问题,第二篇将遇到的问题全部列举下来:1.1包不能加载警告WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-j...
分类:
其他好文 时间:
2014-11-07 12:52:08
阅读次数:
1722