int main(){ char ch[15]; ........ } 函数调用,我理解的栈结构应该是这样的 上一栈结构 (参数2) (参数1) eip ebp 这一栈开始 ch 。。。。。 大致是这样吧 但是加了 -g后好像就不是了 进入gdb后,info f(main这一层的栈结构) 显示的是 eip at 0xbffff1dc ebp at 0xbffff1d8, edi at 0xbffff1d4, esi at 0xbffff1d0, &ch at 0xbffff1c0. 为什么?在局部变量ch和ebp间那两个寄存器中是什么值? 晕!!
#define MAX 10000000 typedef long long int64; int main() { int64 i; int64 a[MAX]; printf( " size = %d\n", sizeof( a )/sizeof( int64 ) ); } 为什么通过编译,段错误? 我测试过linux下,栈能分配2G大小,window则只能分配1M
在当前的文件中调用了另一目录下一个文件中的类Class1的一个方法Class1::method1,在gdb的时候想跟到method1()里面去,该怎么跟进去呢?
作者:kendo mail:[email]kendo999@sohu.com[/email] kernel version:2.6.12 出处:www.skynet.org.cn 转载请注明作者及了出处。 九贱写这篇贴子时,手边上没有参考资料,拿着一本LDD3硬啃,所以,出错之处,再所难免,还请大家指正。 关于贴子的后续改正、补充(目前还没有写到网络层呢),我会发布在我的个人网站上: http://www.skynet.org.cn/viewthread.php?tid=14&pid=56&page=1&extra=page%3D1#pid56 写望借此贴,与各们...
我想知道linux下进程的用户栈是怎么管理的, 栈缺省大小是多少, 在栈不够的时候是否能够自动增长? 另外,是否有接口能够去调整进程的一些参数? 不知道谁能告诉我这些问题.谢谢
最近看linux的网络栈,把接收这一部份的流程记录下来: 内核版本:2.6.12 一、网卡驱动程序 当然,网卡驱动程序完成了从网卡接收数据的第一部份工作,以以3com501 的驱动 linux/drivers/net/3c501.c为例(因为它排在了第一个): 设备初始化函数中,依次调用: [code]int init_module(void) ->el1_probe() -->el1_probe1()[/code] 先向内核申请注册一个以太设备,并设定设备的open函数为: [code]dev->open = &el_open;(line 316...
动态优化 GNU/linux TCP/IP 栈 看/proc/sys/net/ipv4/ipfrag_high_thresh和/proc/sys/net/ipv4/ipfrag_low_thresh了解系统可以处理的包的数目 标准的 GNU/linux 发行版试图对各种部署情况都进行优化。这意味着标准的发行版可能并没有对您的环境进行特殊的优化。 解决方案 GNU/linux 提供了很多可调节的内核参数,您可以使用这些参数为您自己的用途对操作系统进行动态配置。下面我们来了解一下影响 socket 性能的...