Re: [問題] select()用到的timeval
感謝上篇推文中的回答,
我大概 到preprocessor的用法,
但是我仍有疑問,
我在用gcc -E看的時候,
可以發現有
struct timeval
{__time_t tv_sec;
__suseconds_t tv_usec;};
的structure宣告,
但是在sys/time.h則完全沒有這樣的宣告.
據我的了解, preprocessor如#ifdef,
頂多是把"已經寫在header裡面的某些東西"不compile而已
不會自動產生出code來,
所以應該我要能在header的.h檔當中直接找到如上的structure宣告才對吧?
: 感謝上篇推文中的回答, 的確用推文的方找到了,
: 不過我有另外的問題, 假設我有程式如下:
: #include <sys/time.h>
: void main(int argc, char* argv[])
: {
: struct timeval AAA;
: }
: 用gcc -E來編輯並輸出至另外檔案之後,
: 可以發現 #include <sys/time.h>被換成很多奇奇怪怪的程式碼.
: 就我本來的認知, 就是把sys/time.h內的程式(或是說, 宣告)貼上去而已,
: 但是仔細一看發現其實gcc -E輸出的東西與直接跑進去看sys/time.h的程式碼不一樣,
: 看來好像是我的觀念錯誤了, 請問這是要怎麼解釋呢?
: : 我用的是ubuntu 10.04,
: : 現在正在學習socket programming裡面的select().
: : 有個struct叫做timeval, 我看資料他定義在sys/time.h裡面,
: : 但是我有找到time.h, 卻沒看到timeval的定義, 不知道有人可以告訴我一下嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.247.45.9
→
10/06 07:53, , 1F
10/06 07:53, 1F
→
10/06 07:53, , 2F
10/06 07:53, 2F
→
10/06 07:54, , 3F
10/06 07:54, 3F
→
10/06 07:55, , 4F
10/06 07:55, 4F
→
10/06 07:55, , 5F
10/06 07:55, 5F
推
10/06 09:47, , 6F
10/06 09:47, 6F
→
10/06 09:48, , 7F
10/06 09:48, 7F
→
10/06 09:49, , 8F
10/06 09:49, 8F
→
10/06 11:52, , 9F
10/06 11:52, 9F
→
10/06 11:53, , 10F
10/06 11:53, 10F
討論串 (同標題文章)