C++
只此冒泡君
这个作者很懒,什么都没留下…
展开
-
实用的linux命令
1.lsoflsof -i port原创 2020-12-25 11:31:30 · 198 阅读 · 0 评论 -
epoll_create和epoll_create1
名字 epoll_create epoll_create1 - 创建epoll文件描述符摘要 #include <sys/epoll.h> int epoll_create(int size); int epoll_create1(int flags);描述 epoll...翻译 2019-12-26 09:39:00 · 12495 阅读 · 0 评论 -
Window和linux下组播不同之处
怎么加入组播这里就不说了,这里要说的是加入组播之后要接收组播消息一般我们都是创建socket bind recvfromint socketfd = socket(AF_INET,SOCK_DGRAM,0);struct sockaddr_in saddr;memset(&saddr,0,sizeof(saddr));saddr.sin_family = AF_IN...原创 2019-12-05 16:55:18 · 695 阅读 · 0 评论 -
socket 的句柄属性设置
Socket一些属性设置记录标记window/linux设置方法,如果没标记则是不同系统下设置都相同。udp/tcp 共有的属性FIONBIO 设置socket是否为阻塞非阻塞模式,默认创建的socket是阻塞模式。设置非阻塞模式:dwOn = true;window:ioctlsocket(m_hSocket, FIONBIO, &dwOn);linux...原创 2019-12-05 16:23:55 · 1696 阅读 · 0 评论 -
C++实现顺序表和单链表
创建文件命名为sqlist.h#ifndef SQLIST_H#define SQLIST_Htypedef int ElemType;class SqList{public: SqList(); // 无参构造函数,建立空的顺序表 SqList(ElemType array[], int len); ...原创 2019-10-17 15:35:46 · 308 阅读 · 0 评论 -
memcpy() 函数 window 与 linux 下区别
void *memcpy(void *str1, const void *str2, size_t n)char achData[1500], int len, pos;memcpy(achData, achData + pos, len);window下:源内存地址 和 目的内存地址 是同一个数组是, pos 小于len 也就是复制区域会有重合的部分,重复部分不会被覆盖掉。...原创 2019-01-22 15:44:20 · 1324 阅读 · 0 评论 -
内存错误检测-AddressSanitizer
目录简介:使用范围:使用方法:结合gdb:运行结果:简介:AddressSanitizer是C/C++内存错误检测的工具,它是LLVM3.1版本开始支持,GCC从4.8版本开始支持,它可以检测以下错误:功能:1.释放后使用(悬空指针解除引用)2.堆缓冲区溢出3.堆栈缓冲区溢出4.全局缓冲区溢出5.使用返回值访问局部变量6.使用释放后的局部变量内存7...原创 2019-02-22 16:39:23 · 7834 阅读 · 1 评论 -
创建动态库时,使用的链接选项Bsymbolic
问题描述回归正题,前段时间项目开发中,实现了一个动态库,封装了一些方法。然后基于这个动态库,实现了一个应用程序。应用程序中含有全局变量A,动态库中也含有全局变量A,当我调用动态库中函数后,发现应用程序的A发生了变化!!!O,My God!对于我这种还没在Linux下做过开发的人来说,一头雾水。。。。。。 于是我尝试着,将A中的变量名称改为B,这样问题也就没有了~~~原因应用程序进行链接的...转载 2019-09-05 15:16:45 · 640 阅读 · 0 评论 -
ioctl() FIONREAD 检测socket是否有数据可读
先看看FIONREAD 的作用FIONREAD:Get the number of bytes in the input buffer 获取接收缓存中数据的字节数项目中用来判断tcp socket是否有数据接收到,但是出现了一个问题,对于用于accept的socket 即调用listen()之后的socket,用FIONREAD,判断的时候报错,ioctl()返回-1,错误码是 2...原创 2019-10-10 17:31:55 · 2765 阅读 · 0 评论