![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码风格
wzt_007
这个作者很懒,什么都没留下…
展开
-
zmq出现莫名奇妙的发送错误,zmq::zmq_abort (errmsg_=errmsg_@entry=0xa18f7de0 “\001“)
排查了好久,因为在其他设备上也运行过同样的代码,都是正常的,只是还了一个环境和编译器而已。以为是zmq的问题,后面一次偶然的打印,发现是前面调用编码函数的对象没有初始化,直接调用函数接口,有些版本编译器不会出段错误,有些就会偶发性出现段错误。这种直接调用未初始化对象的函数,是不安全的。原创 2024-03-14 14:54:30 · 299 阅读 · 0 评论 -
数组强制转换成结构体指针
今天看公司代码,遇到一个数组指针强制转换成结构体指针的地方,就在想这样做的结果会是什么,和别人讨论了一下。得到结果是,这样做是让结构体按照自己的属性重新读取数组中的数据,字节对齐如果结构体中所有属性所占字节和数组的类型所占字节一样(如果数组类型是16位的,属性也是16位的),那就直接按照属性的顺序,将数组中的数据依次读取出来(是读取,不是复制,因为是指针强制转换)字节不对齐如果结构原创 2017-09-20 21:35:54 · 6772 阅读 · 0 评论 -
strcpy、sprintf、memcpy的区别
char*strcpy(char *dest, const char *src);其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出现段错误。int sprintf(char*str, const char *format, ...)函数操作的源对象不限于字符串:源对象可以是字符串、也可以是任意基本类型的数据转载 2018-01-10 11:54:48 · 197 阅读 · 0 评论