私はソケットプログラミングに取り組んでいます。私のコードは私が望むように実行され、私はそれを使用することができます。しかし、それは私にコンパイルに関する警告を与えます。
私はを使用してコンパイルします
gcc server1.c -o server1 -lpthread
そして私は警告を受け取ります
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
このエラーは、次のコードで発生します
int newsockfd;
newsockfd = (int)newsockfdd; //this line
そして、私は次のコードのチャンクでnewsockfdd(int)を使用しています
if (pthread_create(&threadID[i++], NULL, serverThread, (void *)(intptr_t)newsockfdd) != 0)
{
perror("Thread create error");
}
おそらくお分かりのように、コードはあまりうまく書かれていません(私はそれをより良くするために取り組んでいます)。この警告は、intのサイズに関係しているために発生することを私は知っています。しかし、私はそれを修正する方法を本当に知りません。pthread_createステートメントに(intptr_t)を挿入する前は、その行に警告が表示されていましたが、そのときの警告は
warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
これには簡単な修正があるはずですか?しかし、私はそれを見つけることができません。Ubuntu64ビットを使用しています。それが警告の理由ですか?