亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 回復the linux gcc howto中譯版 (轉--縮水版)。.txt

?? LINUX下的安裝聲卡等操作和技巧介紹
?? TXT
字號:
作者:L772
email: L772@263.net
日期:8/28/2001 1:51:24 PM
gcc是一個與ANSI相容的編譯器;奇怪的是,目前大多數的程式碼都不符合ANSI所 
定的標準。如果你熱愛ANSI,喜歡用ANSI提供的標準來撰寫C程式,似乎除了加 
上-traditional的旗號之外,就沒有其它什麼可以多談的了。There is a 
certain amount of finer-grained control over which varieties of brain 
damage to emulate;請自行查閱gcc info page。 

要注意的是,盡管你用了-traditional來改變語言的特性,它的效果也僅局限 
於gcc所能夠接受的□圍。例如, -traditional會打開-fwritable-strings,使得 
字串常數移至資料記憶體空間內(從程式碼記憶體空間移出來,這個地方是不能任 
意寫入的)。這樣做會讓程式碼的記憶體空間無形中增加的。 

前置處理器的符號卯上函數原型宣告 

最常見的問題是,如眾所皆知,Linux中有許多常用的函數都定義成巨集存放在標 
頭檔內,此時若有相似的函數原型宣告出現在程式碼內,前置處理器會拒絕進行 
語法分析的前置作業。常見的有atoi()與atol()。 

sprintf() 

在大部份的Unix系統上,sprintf(string, fmt, ...)傳回的是string的指標,然 
而,這方面Linux(遵循ANSI)傳回的卻是放入string內的字元數目.進行移植時 
,尤其是針對SunOS,需有警覺的心。 

fcntl 與相關的函數;FD_*家族的定義到底擺在哪里? 

就在里頭。 為了真正的原型宣告,當你用了fcntl,可能你也想含 
括標頭檔進來。 

一般而言,函數的manual page會在SYNOPSIS章節內列出需要的標頭檔。 

select()的計時---程式執行時會處於忙碌-等待的狀態 

很久很久以前,,select()的計時參數只有唯讀的性而已。即使到了最近 
,manual pages仍然有下面這段的警告: 

select()應該是藉由修正時間的數值(如果有的話),再傳回自原始計時開始 
後所剩馀的時間。未來的版本可能會使這項功能實現。因此,就目前而言,若 
以為呼叫select()之後,計時指標仍然不會被修正過,可是一種非常不明智的 
想法喔! 

未來就在我們的眼前了!至少,在這兒你絕對可以看到。函數select()傳回的, 
是扣除等待尚未到達的資料所耗費的時間後,其剩馀的時間數值。如果在計時結 
束時,都沒有資料傳送進來,計時引數便會設為0;如果接著還有任何 
的select(),以同樣的計時structure來呼叫,那麼select()便會立刻結束。 

若要修正這項問題,只要每次呼叫select()前,都把計時數值放到計時 
structure內,就沒有問題了。把下面的程式碼, 

struct timeval timeout; 
timeout.tv_sec = 1; timeout.tv_usec = 0; 
while (some_condition) 
select(n,readfds,writefds,exceptfds,&timeout); 

改成, 

struct timeval timeout; 
while (some_condition) { 
timeout.tv_sec = 1; timeout.tv_usec = 0; 
select(n,readfds,writefds,exceptfds,&timeout); 
} 

這個問題,在有些版本的Mosaic里是相當著名的,只要一次的等待,Mosaic就掛 
在那里了。Mosaic的螢幕右上角,是不是有個圓圓的、會旋轉的地球動畫。那顆 
球轉得愈快,就表示資料從網路上傳送過來的速率愈慢! 

產生中斷的系統呼叫 

特徵: 

當一支程式以Ctrl-Z中止、然後再重新執行時□或者是其它可以產生Ctrl-C中斷 
信號的情況,如子程序的終結等□系統就會抱怨說"interrupted system call"或 
是"write: unknown error",或者諸如此類的訊息。 

問題點: 

POSIX的系統檢查信號的次數,比起一些舊版的Unix是要多那麼一點。如果 
是Linux,可能就會執行signal handlers了□ 

* 非同步地(計時器的滴答聲) 
* 系統呼叫的傳回值 
* 在下列系統呼叫的執行期間∶ select(), pause(), connect(),accept(), 
read() on terminals, sockets, pipes or files in /proc, write() on 
terminals, sockets, pipes or the line printer, open() on FIFOs, 
PTYs or serial lines,ioctl() on terminals, fcntl() with command 
F_SETLKW, wait4(), syslog(), any TCP or NFS operations. 

就其它的作業系統而言,你需要的可能就是下面這些系統呼叫了: creat(), 
close(), getmsg(), putmsg(), msgrcv(), msgsnd(), recv(), send(), 
wait(), waitpid(), wait3(), tcdrain(), sigpause(), semop() to this 
list. 

在系統呼叫期間,若有一信號(那支程式本身應準備好handler因應了)產生 
,handler就會被呼叫。當handler將控制權轉移回系統呼叫時,它會偵測出它已 
經產生中斷,而且傳回值會立刻設定成-1,而errno設定成EINTR。程式并沒有想 
到會發生這種事,所以就掛了。 

有兩種修正的方法可以選擇: 

(1) 對每個你自行安裝的signal handler,都須在sigaction的旗號加 
上SA_RESTART。例如,把下列的程式, 

signal (sig_nr, my_signal_handler); 

改成, 

signal (sig_nr, my_signal_handler); 
{ struct sigaction sa; 
sigaction (sig_nr, (struct sigaction *)0, &sa); 
#ifdef SA_RESTART 
sa.sa_flags |= SA_RESTART; 
#endif 
#ifdef SA_INTERRUPT 
sa.sa_flags &= ~ SA_INTERRUPT; 
#endif 
sigaction (sig_nr, &sa, (struct sigaction *)0); 
} 

要注意的是,當這部份的變更大量應用到系統呼叫之後,呼叫read()、write() 
、ioctl()、 select()、 pause() 與 connect()時,你仍然得自行檢查EINTR。 
如下所示: 

(2) 你自己得很明確地檢查EINTR: 

這里有兩個針對read()與ioctl()的例子。 

原始的程式片段,使用read(): 

int result; 
while (len > 0) { 
result = read(fd,buffer,len); 
if (result < 0) break; 
buffer += result; len -= result; 
} 

修改成, 

int result; 
while (len > 0) { 
result = read(fd,buffer,len); 
if (result < 0) { if (errno != EINTR) break; } 
else { buffer += result; len -= result; } 
} 

原始的程式片段,使用ioctl(): 

int result; 
result = ioctl(fd,cmd,addr); 

修改成, 

int result; 
do { result = ioctl(fd,cmd,addr); } 
while ((result == -1) && (errno == EINTR)); 

注意一點,有些版本的BSD Unix,其內定的行為是重新執行系統呼叫。若要讓系 
統呼叫中斷,得使用 SV_INTERRUPT或SA_INTERRUPT旗號。 

可以寫入的字串 

gcc對其users總懷抱著樂觀的想法,相信當他們打算讓某個字串當作常數來用 
時---那它就真的只是字串常數而已。因此,這種字串常數會儲存在程式碼的記憶 
體區段內。這塊區域可以page到磁碟機的image上,避免耗掉swap的記憶體空間, 
而且任何嘗試寫入的舉動都會造成分頁的錯誤(segmentation fault)。這可是一 
種特色呢! 

對老舊一點的程式而言,這可能會產生一個問題。例如,呼叫mktemp(),傳遞的 
引數(arguments)是字串常數。 mktemp()會嘗試著在*適當的位置*重新寫入它的 
引數。 

修正的方法 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
夜夜精品浪潮av一区二区三区| 亚洲国产精品精华液ab| 成人免费视频视频在线观看免费| 日韩av网站免费在线| 亚洲图片一区二区| 亚洲国产日韩精品| 丝袜a∨在线一区二区三区不卡| 亚洲人成网站影音先锋播放| 亚洲欧美激情小说另类| 亚洲精品中文在线观看| 亚洲综合色成人| 亚洲国产一区二区a毛片| 五月婷婷综合激情| 蜜桃av噜噜一区二区三区小说| 成人app下载| 99re热视频这里只精品| 欧美日韩一卡二卡| 欧美喷潮久久久xxxxx| 欧美日韩www| 久久久久久久久久看片| 国产精品嫩草99a| 亚洲欧洲av一区二区三区久久| 亚洲精品视频自拍| 日韩精品电影在线| 国产成人自拍网| 91美女在线视频| 91麻豆精品91久久久久久清纯| 精品国产3级a| 亚洲美女视频在线观看| 日韩av电影天堂| 懂色av一区二区夜夜嗨| 在线这里只有精品| 欧美www视频| 亚洲三级电影网站| 久久国产精品99久久人人澡| 不卡的电影网站| 欧美一区午夜视频在线观看| 欧美极品xxx| 日韩国产精品久久久久久亚洲| 国产传媒日韩欧美成人| 欧美日韩在线播放三区四区| 精品国产91久久久久久久妲己| 亚洲美女精品一区| 国产麻豆一精品一av一免费| 91福利精品第一导航| 久久久久久久久久久久久久久99 | 国产精品的网站| 天堂成人国产精品一区| 欧美一级一区二区| 国产精品国产三级国产普通话99| 日韩专区在线视频| 91片黄在线观看| 久久久久久一二三区| 日韩精品一级二级| 一本大道久久a久久精二百| 久久亚洲综合色一区二区三区| 一区二区三区成人| 99视频精品全部免费在线| 久久综合九色综合欧美98| 午夜精品久久久久久久久久| 色婷婷香蕉在线一区二区| 国产精品久久久久久久久晋中 | 97久久超碰精品国产| 久久亚区不卡日本| 蜜桃一区二区三区四区| 欧美精品在线观看播放| 午夜天堂影视香蕉久久| 91欧美一区二区| 亚洲欧美在线视频观看| 成人激情文学综合网| 日日夜夜一区二区| 欧洲在线/亚洲| 亚洲一区二区视频在线观看| 色拍拍在线精品视频8848| 亚洲桃色在线一区| 91蜜桃婷婷狠狠久久综合9色| 国产人成一区二区三区影院| 国产盗摄视频一区二区三区| 久久精品免视看| 懂色av中文字幕一区二区三区| 中文幕一区二区三区久久蜜桃| 国产一区二区三区日韩| 欧美国产成人精品| 99re6这里只有精品视频在线观看| 久久久99久久| 色综合夜色一区| 亚洲电影一区二区三区| 91精品国产色综合久久ai换脸 | 成人高清在线视频| 国产精品免费视频观看| 色综合天天性综合| 一区二区三区免费观看| 欧美日韩成人一区| 久久99国产乱子伦精品免费| 国产欧美一区视频| 一本一本久久a久久精品综合麻豆| 亚洲天堂成人网| 欧美美女视频在线观看| 精品一区二区三区在线播放视频| 国产日韩欧美激情| 91久久精品午夜一区二区| 日产精品久久久久久久性色| 精品少妇一区二区| a级高清视频欧美日韩| 亚洲1区2区3区4区| 国产三级一区二区三区| 欧美中文字幕一区二区三区 | 亚洲综合色网站| 69堂国产成人免费视频| 国产成人综合自拍| 亚洲一区二区综合| 久久免费国产精品| 96av麻豆蜜桃一区二区| 日本亚洲欧美天堂免费| 国产精品久久国产精麻豆99网站| 欧美日韩免费观看一区二区三区 | 国产精品国产成人国产三级| 欧美日韩免费高清一区色橹橹| 国产露脸91国语对白| 五月综合激情网| 成人免费一区二区三区在线观看| 日本一区二区三区免费乱视频| 欧美精品国产精品| 99精品1区2区| 国产成人精品1024| 麻豆一区二区三区| 亚洲欧美自拍偷拍| 中文字幕乱码一区二区免费| 日韩精品资源二区在线| 欧美午夜理伦三级在线观看| 成人黄色小视频在线观看| 久久精品久久99精品久久| 一区二区三区自拍| 亚洲欧洲另类国产综合| 久久久三级国产网站| 欧美白人最猛性xxxxx69交| 欧美在线观看一区二区| 91首页免费视频| 波多野结衣91| 成人爽a毛片一区二区免费| 精品在线一区二区三区| 美国三级日本三级久久99| 视频精品一区二区| 亚洲成人av一区二区| 一区二区三区加勒比av| 亚洲精品你懂的| 中文字幕一区二区三区视频| 中文文精品字幕一区二区| 久久久一区二区三区捆绑**| 久久综合99re88久久爱| 欧美精品一区二区三区在线播放 | 国产成人午夜电影网| 蜜臀av性久久久久蜜臀aⅴ四虎 | 成人av资源在线观看| 成人一区二区三区视频在线观看| 国产一区二区主播在线| 国产一区二区三区香蕉| 另类小说图片综合网| 国产麻豆一精品一av一免费| 国产成人综合精品三级| eeuss鲁片一区二区三区在线观看| 成人动漫一区二区在线| 91高清在线观看| 欧美日韩国产欧美日美国产精品| 欧美日韩美女一区二区| 欧美一区二区三区色| 日韩欧美国产一区在线观看| 久久婷婷成人综合色| 国产精品美日韩| 亚洲激情五月婷婷| 婷婷国产在线综合| 久久国产视频网| 国产成人三级在线观看| 日本精品一区二区三区四区的功能| 欧美色窝79yyyycom| 日韩欧美激情在线| 国产精品视频一二三区| 亚洲第一综合色| 国产在线精品一区二区夜色| 大胆亚洲人体视频| 欧美午夜在线一二页| 精品国精品自拍自在线| 亚洲欧洲精品一区二区精品久久久| 一区二区三区影院| 国产在线乱码一区二区三区| 91黄色免费版| 久久综合狠狠综合久久激情| 亚洲天堂精品在线观看| 久久66热re国产| 一本一本久久a久久精品综合麻豆| 91精品国产综合久久久久久| 中文成人综合网| 日韩精品乱码免费| 成人激情动漫在线观看| 欧美一区二区三区色| 日韩伦理av电影| 国产主播一区二区| 在线看国产日韩| 亚洲国产成人在线| 久久99热这里只有精品|