【发布时间】:2011-08-02 02:15:26
【问题描述】:
我有一个关于 C 的发送方法的问题。
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);
现在我想知道是我应该自己释放缓冲区还是 send 方法释放它?
我释放缓冲区的代码:
char *buffer = (char *)malloc(100*sizeof(char));
send(s, buffer, 100*sizeof(char), MSG_NOSIGNAL);
free(buffer);
当我看到错误时,我以为我很快就释放了缓冲区,而 send 方法仍在使用内存。
告诉我。
【问题讨论】: