gcc调试strset函数出错
#include <stdio.h>
#include <stdlib.h>
#include <sys/epoll.h>
int main(int argc, char **argv)
{
int fd=4;
int* px=&fd;
struct epoll_event ev;
ev.data.fd = fd; //标记1
ev.data.ptr=px; //标记2
ev.events = EPOLLIN | EPOLLOUT;
return 0;
}
这个简单的几行代码,竟然出莫名其妙的问题;
单步调试:
执行完标记1,ev.data.fd的值为4;
执行完标记2,ev.data.fd的值就被修改了。。。这是怎么回事?
我的系统是Ubuntu10.10-AMD64(2.6.35-28-generic)
开发环境都是直接apt-get安装的
#include <stdlib.h>
#include <sys/epoll.h>
int main(int argc, char **argv)
{
int fd=4;
int* px=&fd;
struct epoll_event ev;
ev.data.fd = fd; //标记1
ev.data.ptr=px; //标记2
ev.events = EPOLLIN | EPOLLOUT;
return 0;
}
这个简单的几行代码,竟然出莫名其妙的问题;
单步调试:
执行完标记1,ev.data.fd的值为4;
执行完标记2,ev.data.fd的值就被修改了。。。这是怎么回事?
我的系统是Ubuntu10.10-AMD64(2.6.35-28-generic)
开发环境都是直接apt-get安装的
作者: darkavenger 发布时间: 2011-03-18