- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 为虚拟机再挂载一块虚拟硬盘
1、fdisk -l,看看挂载进来的硬件(红色圈出来的新盘,就是需要挂载的硬盘)2. 格式化硬盘, 文件系统格式为ext33. mount 到一目录 ,df命令查看是否挂载上4. 硬盘开机自动挂载 (文件/etc/fstab中添加红色标注的)解释: fstab
2015-05-23 10:08:57 602
原创 静态库存在依赖时对程序的影响
1.编译文件的位置对编程有影响。当编译连接的是静态库时, a.c的位置就很主要。编译连接的是动态库时,随便都是OK的。 2 。库之间有依赖关系时库的先后顺序对编程存在影响libtest.so -> libtest1.a (libtest.so 依赖libtest1.a) libtest.a-> libtest1.a (libtest.
2015-05-23 10:04:41 926
原创 gcc的两个选项 -Xlinger -rpath
1. -rpath 提供动态库的路径(不需要修改LD_LIBRARY_PATH环境变量,程序也能找到动态库) 还有三种指定动态库路径的方法:第一种通过环境变量LD_LIBRARY_PATH把当前目录添加到共享库的搜索路径,不过这种方法只适合在开发中临时用一下,通常LD_LIBRARY_PATH是不推荐使用的,尽量不要设
2015-05-23 10:03:45 628
原创 【坑坑坑坑坑】dlsym----undefined symbol: hello
报错:lib/libhello_test1.so: undefined symbol: hello 查看libhello_test1.so的符号表:[root@xxhh test1]# nm libhello_test1.so | grep hello U _Z13hello_displayi000000000000071a T _Z5hello
2015-05-22 17:33:23 2651 1
原创 【坑坑坑坑坑】fwrite没有把数据写到文件中???
《unix环境高级编程》中介绍标准IO:标准IO流操作读写普通文件是使用全缓冲的,默认缓冲区长度是该文件系统优先选用的IO长度(一般是4kB)。因此当数据长度没有填满缓冲区时,在文件中是无法看到的。 解决方法有三种:1. fflush()。2.fclose()。3. 函数setvbuf()修改stream(流)的缓冲区大小。函数setvbuf 用法: #inclu
2015-05-22 15:43:14 612
原创 【坑坑坑坑坑】strncpy是个坑
在处理网络数据流时发现数据不完整,最后发现是strncpy的问题。 #include char *strcpy(char *dest, const char *src); char *strncpy(char *dest, const char *src, size_t n);strncpy 有两个结束条件:一个n 的大小 , 第二个 s
2015-05-22 15:19:44 532
原创 【sb代码】 数组拷贝越界
今天程序突然挂了,通过gdb跟踪发现栈都被写乱了,查看犯罪现场,没有找到元凶,可以肯定的是某个地方内存写越界。最后发现这段代码:char buf[1024] = {0};memcpy (buf, data, data_len);问题就出在这里,没有考虑data_len可能超过1024的情况,导致越界操作。代码应该修改成:memcpy (buf, data, MIN (1
2015-05-22 15:14:40 492
原创 解决tcpdump "drop by kernel" 问题
今天使用tcpdump捕包时发现数据不全,进一步跟踪发现,tcpdump出现丢包 (网卡上drop计数没有增加,网卡没有丢包),推出tcpdump时显示一下信息:579204 packets captured579346 packets received by filter142 packets dropped by kernel
2015-05-16 00:02:03 17366
zeroMQ指南
2015-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人