int send (int socket, void *buffer, size_t size, int flags);
我的代码:
char *buffer = (char *)malloc(100*sizeof(char));
send(s, buffer, 100*sizeof(char), MSG_NOSIGNAL);
我想知道是我自己释放缓冲区,还是发送方法会释放它?这与it技术有关。
以下是我释放缓冲区的代码:
char *buffer = (char *)malloc(100*sizeof(char));
send(s, buffer, 100*sizeof(char), MSG_NOSIGNAL);
free(buffer);
当我看到这个错误时,我认为我释放缓冲区太快了,而发送方法仍在使用内存。请告诉我。