精華區beta Programming 關於我們 聯絡資訊
一個process若要產生新的thread, 可以呼叫pthread_create, 它的prototype如下: int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*func)(void *), void *arg); 我在某書(Comer寫的)上看到一段程式碼,它是這樣寫的: ... ... int TCPechod(int fd); int ssock; ... ... if(pthread_create(&th, &ta, (void * (*)(void *))TCPechod, (void *)ssock) < 0) ... 我要問的是: 1.上述 (void * (*)(void *))TCPechod 看起來像是把TCPechod轉型的樣子, 可是TCPechod這個function的參數以及回傳值本身都是integer, 為什麼可 以轉成(void *). 2.類似1, ssock本身是integer, 被轉成(void *)後會變成什麼; TCPechod裡 面的fd的值為什麼等於ssock. 請各位大大不吝賜教 -- 夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子 之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下 矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以 喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫 之令而自均始制有名名亦既有夫亦將知止知止可以不殆w2cnPC19.cis.nctu.edu.tw