回答了问题2014-09-02
既然你的用户数据可以分开,那不同的用户数据使用不同的缓存就好了,实现起来最简单。 如果你需要更高的缓存使用率和并行率,那可以在用户的数据中加入用户ID和顺序编号(通过统一的方法生成或直接使用时间戳),就既可以使用多线程处理同一个用户的数据,也可以保证...
回答了问题2014-08-29
新旧身份证号一位一位的比较就行了。定义一个计数变量,有不同的就加一。 反正就十几位也不会有什么性能问题。
回答了问题2014-08-28
2.运行时,一般静态链接会拥有更好的性能。 因为,动态链接库可能在运行时需要载入到内存,同时,对于编译成地址无关的动态链接库文件, 执行时会多一步地址计算,性能会稍差一些。
回答了问题2014-05-23
对于目录本身,将它的上级目录设置为不可写,那么该目录就不可删除了。 对于目录下的文件,直接把目录的权限设为RWX,用户就拥有对该目录下文件的删除、新建和访问权限。
回答了问题2014-05-22
不要用颜色标记是否被切到。 每个水果有自己的坐标范围。 和刀的线相交之后就可以判定被切到了。
回答了问题2014-05-21
这一句是为了局部变量分配内存的。具体分配多少这是编译器相关的,肯定比你需要的大。 你可以尝试一下使用个数组,让临时变量的总大小超过32,那么在这就会分配多于32字节了。
回答了问题2014-05-17
char *x = "xyz"分配的空间是否可写,取决于编译器把"xyz"是否放到了可写的数据段中, 这一点是具体编译器实现相关的,并不是所有的编译器都放到只读数据段中的, gcc的默认编译参数是把“xyz”分配在只读数据段中的,所以memcpy时会产生segmentfault
回答了问题2014-05-16
补充: 估计链接器的默认搜索路径里面有一个不支持utf-8的库文件。执行时候出错。添加了-L /usr/local/lib之后,链接器到新的搜索路径下面找到了支持utf-8的库文件。执行成功。你用ldd看一下你两次链接出来的可执行文件的共享库情况吧。
回答了问题2014-05-05
拷贝内存是从低地址向高地址拷贝,栈是从高地址向低地址伸展,你的字符串覆盖了上一个栈帧的内容, 当越界不太多时,只有当函数返回时,才能出现异常。
回答了问题2014-05-05
因为.h文件可能被包含多次,如果定义放在.h文件里面,该变量就会被编译到不同的.o文件里面, 当链接的时候就会发生重复定义的错误。 所以,定义和初始化放在.c文件里面。 声明放在.h里面,使用这些变量的地方include这个.h文件就行了。
回答了问题2014-04-29
cat应该不会把TAB转换成空格的。 你用cat -a 查看一下文件,看看到底是不是TAB。
回答了问题2014-04-29
1.可以使用信号控制 2.可以使用条件变量
回答了问题2014-04-29
主线程把fp的地址传递给了线程1(pthread_join( tid1, (void)&fp);), 线程1退出的时候,把线程1栈上分配的变量赋值给了fp(pthread_exit( (void)&foo);), 然后线程2覆盖了,线程1栈上分配的变量, 主线程在打印fp时,出现了随机值。
回答了问题2014-04-28
我看你对同一个dir打开了两次,会不会造成你说的乱码问题啊。 在dir_child_len里面给关掉试试。
回答了问题2014-04-28
永远不要弄这种和编译器实现以及优化相关的东西。