北野坂備忘録

主にインストールやプログラミングのメモを載せています。

recvfrom()関数の不思議

 CでUDPを扱う関数としてsendto()関数とrecvfrom()関数という引数がとてもよく似た関数がある。sendto()で送ってrecvfrom()で受け取るのだが、これを使ったプログラムをコンパイルしてみると警告が出る。
 不思議に思って調べてみると、recvfrom()の第6引数だけsendto()と違ってsocklen_tにキャストしなければならないようになっていた。
 なんでこんなことになってるの……?