Follow Excellent, Success will Chase you

0%

字节序有大端字节序小端字节序,目前X86、arm、mips基本都使用小端字节序。但是在网络数据传输时,使用大端字节序

TCP/IP协议,RFC1700规定使用“大端”字节序为网络字节序,其他不使用大端的计算机要注意了,发送数据的时候必须要将自己的主机字节序转换为网络字节序(即“大端”字节序),接收到的数据再转换为自己的主机字节序。这样就与CPU、操作系统无关了,实现了网络通信的标准化

阅读全文 »

在实际应用中,编译C++代码时使用了-Wl,-Bsymbolic参数编译后生成的动态库文件,在被加载使用时出现错误

1
2
3
** Error in `.a.out': free(): invalid pointer: 0x0000000000414320 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81299)[0x7ff6d99a1299]

同样的代码,同样的编译参数,编译生成静态库可以正常使用,但是动态库只要运行时就报错。将-Wl,-Bsymbolic参数删除不用或者改为-Bsymbolic后,编译生成的动态库均可以正常使用,这两个参数对程序编译存在什么影响?

阅读全文 »