- 博客(12)
- 资源 (8)
- 收藏
- 关注
原创 c语言 求32位数中最低非0位和最高非0位
一、最大非零位这个原理和上一篇文章中将到的求fl的算法一样,通过对半查找之后再采用空间换时间的方式直接在一个数组中查找出相关值就可以了。代码参考如下:int GetMaxOBit(int n) { int a; a = n <= 0xffff ? (n <= 0xff ? 0 : 8) : (n <= 0xffffff ? 16 : 24); return TLSF_Table[n >> a] + a;}或者int Msb32(uns...
2021-10-18 10:29:49
1158
原创 ffmpeg交叉编译问题
ffmpeg交叉编译后,运行会有[NULL @ 0x11870120] Value 0.000000 for parameter 'probesize' out of range [32 - 9.22337e+18][NULL @ 0x11870120] Value 0.000000 for parameter 'formatprobesize' out of range [0 - 2.14748...
2018-03-30 09:27:26
722
原创 组播包经过linux主机发送失败
环境:有三台机器,A,B,C组播包发送方向A--->B--->CB上运营了pimd程序,通过ip mroute可以得到组播路由,但是数据包没有进行转发。通过抓包分析,组播包的TTL 为1,数据包在内核中已经丢弃。修改ttl值即可。...
2018-03-19 10:25:57
1755
1
原创 c语言函数参数处理顺序
我们先来看第一个例子#include<stdio.h> void fun(int a,int b,int c) { printf("%d,%d,%d", a, b, c); } void main() { int a = 3; fun(a++, a++, a++); }输出:5,4,3得出结论:函数参数是从右往左入栈的。那么为什么是从右往左呢,那是因为c语言有可变参数的功能...
2018-02-27 15:56:29
592
原创 udp服务器丢包
1. udp客户端把注册的信息发往服务器,发现当数据包超过67个时,后面的数据包就收不到了。2. 通过抓包,发现udp客户端把包都送出去了。3.服务器select没有返回0,接收超时。4.把客户端发送增加usleep,数据包可以正确收到。5.发送的包频率太快:虽然每个包的大小都小于mtu size 但是频率太快,例如40多个mut size的包连续发送中间不sleep,也有可能导致
2017-12-05 16:40:20
270
1
原创 iptables SNAT无效
iptables配置SNAT无效,但是ping包是有效的。1. ping出去的包,源IP都进行的转换成了有效IP,udp出去的包没有进行转换。2. 把UDP程序重启,然后iptables就生效了。3.研究发现,在/proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout 为30,单位是秒,这个是UDP跟踪时间,如果iptables
2017-11-29 19:45:29
3302
原创 tcp checksum error
问题描述: 在netns中做点对点测试,可以实现ping,但是tcp业务不同。1. 抓包,发现tcp 的checksum错误,但是ip的checksum是对的2. 用ethtool -K eth1 rx off tx off sg off tso off 关闭tx的checksum,问题解决。注意:需要同时关闭源和目标的设备的
2017-11-17 13:46:37
1362
原创 LD_LIBRARY_PATH 无效
问题描述: 修改了bin生成日志路径,日志不显示 更新最新的动态库,日志路径变更无效。 用ldd命令查看bin的动态库,发现指向的不是自己设置的LD_LIBRARY_PATH 于是怀疑make 是制定了rpath选项 用readelf -d bi
2017-11-16 16:52:39
7468
1
原创 netns stcp用不了
解决方法: 1. 原系统是centos6.7 2.6的内核,升级了内核到3.10,就支持了sctp了。 2. 下载内核rpm包,安装好了后,修改/etc/grub.conf
2017-11-09 14:12:33
165
原创 SecureCRT:[1]SecureCRT配色方案
https://jingyan.baidu.com/article/a681b0dec6c0783b1943467e.html
2017-10-24 16:48:26
151
原创 C语言双感叹号作用!!
c语言中 !是逻辑非得意思,任何非0数,加上逻辑非都为0~是按位取反的意思。两个!是为了把非0值转换为1,而0值还是0在c语言中,所有非0值都表示真。所以!非0值=0,而!0=1所以!!非0值 = 1,而!!0 = 0
2017-09-29 14:28:30
854
原创 linux 编译除警
1. warning:No previous prototype for function 在.办法上加润饰符static2. warning: missing braces around initializer 警告的意思是初始化缺少了大括号,也就是没有用大括号明确的区分出初始化数据的归类。 那什么时候会使用到大括号初始化呢?一般情况下初始化使用到大
2017-09-28 09:08:08
486
wxPython-4.1.1-cp38-cp38-linux_x86_64.whl
2020-12-01
wxPython-4.1.1-cp38-cp38-win_amd64.whl
2020-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人