回答了问题2018-02-06
git status --ignored
赞了回答2014-05-14
IPv4 Only {代码...} C 么... 之前在 StackOverflow 里看过一个 {代码...} [1] [链接]
赞了回答2014-05-04
char sz是动态分配在堆栈上得,strcpy将超过sz大小的数据拷贝到堆栈上面去,导致堆栈的其他部分被所拷贝的内容覆盖。x86将调用函数的返回地址和堆栈指针也保存在堆栈上,由于上面的拷贝将保存在堆栈的数据改写,这样会导致堆栈上保存的调用函数返回地址或者指针指向...
提出了问题2014-04-16
赞了回答2014-04-12
我猜是因为 Redis 不想检查自己有没有更改 rlim_max 的权限,所以直接尝试好了。如果直接把软限制改成和硬限制一样大,那还要判断,如果 maxfiles > rlim_max,自己能不能把 rlim_max 改大,如果不能,再设置 rlim_cur 为 rlim_max。检查和设置之间还有竞态。
赞了回答2014-04-12
redis所要做的并不是把自己所能打开的fd数量开到最大,而是把它设置到maxfiles。如果设置不到maxfiles,就尽可能达到这个数值。
赞了回答2014-04-12
因为在类 UNIX 系统中,当一个文件的 link count 减为零并且所有已打开的文件描述符全部关闭、所有 mmap 的部分全部 unmap 时,系统才会真正将该文件占用的存储空间标记为未使用。这和 Windows 使用的策略是不一样的。
提出了问题2014-04-12
赞了回答2014-04-02
子进程挂了就等着父进程来给它收尸。如果父进程不给它收尸就退出了,那么交给init来收尸。 其实进程退出后其相关的内存等资源已经释放了,只剩下一个task struct结构在进程表中躺着吓唬人。
回答了问题2014-04-01
1.不同类型的指针的sizeof是一样的,分配内存时,还不知道这块内存放的是int还是float时,可以让void*指向这块内存,用的时候在强转。 2.int * 作为参数传递到函数内部,函数内部暂时没有使用,编译的时候会警告,这时,你可以转一下就不警告了。 3.不同类型的指针+1...
提出了问题2014-04-01
回答了问题2014-03-26
网上好多分析Python web服务器的性能的文章,tornado的单机性能应该是最好的了。不过我觉得,你换成tornado性能可能会好点,但是改善不了多少。据了解,豆瓣网是Python基于flask开发的,nginx肯定也少不了使用,那豆瓣感觉慢么。 我不了解你的业务,具体的问题得针对...
回答了问题2014-03-25
如果你的文件很重要,建个硬链接,防止误删除。
赞了回答2014-03-25
所以直到 main 函数返回时才会发生内存访问违例,导致 SIGSEGV 信号的发送。硬件才不在乎你的访问有没有越界呢,它只关心你有没有权限访问指定的内存地址。
赞了回答2014-03-25
我感觉内存越界的检查(或者说信号被发送)是在函数完成后才进行的,也就是调用函数的堆栈检查。 补充一个例子比较能说明问题: {代码...} 将在 testmem()运行后马上就abort()
提出了问题2014-03-25
回答了问题2014-03-13
记得快速排序的平均时间复杂度是 nlog(n),你可以进行一次快速排序以后,两个线程处理,然后再快排一次,四个线程处理。。。或者你可以处理一下你的 key 值,尽量让左右两边的个数相等,时间复杂度达到 nlogn。要么就堆排序,最坏情况也是 nlogn.我能想到的,希望能...
提出了问题2014-02-17