㈠ 一道unix 下C語言編程疑惑,希望高手幫解釋下
1、我直接粘了你的代碼(我的系統是Ubuntu10.04),然後
$gcc -o xxx xxx.c //編譯通過
$./xxx //也可以執行
出錯的話,說明你應該不是用的Linux系統吧,網上給出的原因:
編譯時需要加-lsocket選項
http://faq.csdn.net/read/166652.html
http://jimobit.blog.163.com/blog/static/28325778200981471439881/
不過我很疑惑的是別人都是在寫socket程序時才需要這個選項,你的代碼和socket沒關啊。。。
2、關於fork()函數的調用與返回,可以看看文庫里的這篇文章:
http://wenku..com/view/61067c68011ca300a6c39031.html
㈡ unix下C編程,編譯的時候總是提示undefined reference to'fread'
fread 是標准輸入輸出庫中的函數,不同版本的編譯器在默認庫上有所區別。有的不用寫即包含所有常用庫,有的編譯器是零包含的。
unix下c語言編譯器要想使用庫函數,必須對庫進行相關聲明
#include <stdio.h>
fread介紹附上
函數原型
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
功 能
從一個文件流中讀數據,最多讀取count個元素,每個元素size位元組,如果調用成功返回實際讀取到的元素個數,如果不成功返回 0。
參 數
buffer
用於接收數據的內存地址,大小至少是size*count位元組.
size
單個元素的大小,單位是位元組
count
元素的個數,每個元素是size位元組.
stream
輸入流
返回值
實際讀取的元素個數.如果返回值與count不相同,則可能文件結尾或發生錯誤.
從ferror和feof獲取錯誤信息或檢測是否到達文件結尾.
㈢ 《UNIX編程藝術豆瓣》pdf下載在線閱讀全文,求百度網盤雲資源
《UNIX編程藝術豆瓣》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1wKT72J4KeTo9JhQYGi4qcQ
㈣ 《UNIX環境高級編程(第3版)》pdf下載在線閱讀,求百度網盤雲資源
《UNIX環境高級編程(第3版)》史蒂文斯(W.RichardStevens)拉戈(StephenA.Rago)電子書網盤下載免費在線閱讀
鏈接: https://pan..com/s/1yNi_9ZPoVCa8FWNHYBEnGQ 密碼:tnd7
書名:UNIX環境高級編程(第3版)
作者名:史蒂文斯(W.RichardStevens)拉戈(StephenA.Rago)
豆瓣評分:9.5
出版社:人民郵電出版社
出版年份:2014-6-1
頁數:812
內容介紹:
《UNIX環境高級編程(第3版)》是被譽為UNIX編程「聖經」的Advanced Programming in the UNIX Environment一書的第3版。在本書第2版出版後的8年中,UNIX行業發生了巨大的變化,特別是影響UNIX編程介面的有關標准變化很大。本書在保持前一版風格的基礎上,根據最新的標准對內容進行了修訂和增補,反映了最新的技術發展。書中除了介紹UNIX文件和目錄、標准I/O庫、系統數據文件和信息、進程環境、進程式控制制、進程關系、信號、線程、線程式控制制、守護進程、各種I/O、進程間通信、網路IPC、偽終端等方面的內容,還在此基礎上介紹了眾多應用實例,包括如何創建資料庫函數庫以及如何與網路列印機通信等。此外,還在附錄中給出了函數原型和部分習題的答案。
作者介紹:
W. Richard Stevens,國際知名的UNIX和網路專家,備受贊譽的技術作家。生前著有多部經典的傳世之作,包括《UNIX網路編程》(兩卷本)、《TCP/IP詳解》(三卷本)和本書第1版。
㈤ 《unix環境高級編程》這本書要用到C++嗎 我沒有學過C++,我只學過C語言
這本書只用到C.
至於看不看得懂,下載個電子版看看不就得了,不要跟我說你不知道怎麼找電子書。
網路搜索 "UNIX環境高級編程 filetype:pdf"
ps:我懷疑高級編程是指 使用高級語言C的編程,本身的內容一開始並不深奧。
㈥ UNIX C編程高手幫忙看下,這個unix c程序最終怎麼成死循環了。
你fork()一個子進程,該子進程會開辟一段新的內存單元,它對父進程的所有資源銷歷磨進行了拷貝,父進程先執行,列印father:aaaaa後跳出循環,而fork產生的子進程會執行child:100,由於子進程沒有跳出循爛枝環,子進程又會fork產生孫進程,然後子進程就變成孫進程的父進程,一虧斗樣列印father:aaaaa後跳出循環,孫進程會執行child:100,如此重復,孫進程又產生曾孫進程.......(子子孫孫無窮潰也!)
如果修改一下你的代碼,就不會出現這種問題,如下:
#include<unistd.h>
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intb=100;
charc[10]="aaaaa";
while(1)
{
printf("begin... ");
sleep(1);
if(fork()==0)
{
printf("child:%d ",b);
getchar();
exit(0);
}else
{
printf("father:%s ",c);
sleep(1);
break;
}
}
return0;
}
修改後的運行結果如截圖:
㈦ unix c編程:函數要求輸入兩個文件名,將指定文件 a 的內容逐行讀出來,寫入另外一個文件 b,並在 b 文件
void file(char * file_in,char * file_out)
{
FILE *pFin=NULL,*pFout=NULL;
char buf[1025];
int counter=0;
pFin=fopen(file_in,"r");
if(pFin == NULL)
{
printf("Open file %s failed\n",file_in);
return;
}
pFout=fopen(file_out,"w");
if(pFout == NULL)
{
printf("Open file %s failed\n",file_out);
fclose(pFin);
return;
}
sprintf(buf,"%d\n",counter);
fputs(buf,pFout);
while(fgets(buf,1024,pFin))
{
counter++;
fputs(buf,pFout);
}
fseek(pFout,0,SEEK_SET);
sprintf(buf,"%d\n"磨賀,counter);
fputs(buf,pFout);
fclose(pFin);
fclose(pFout);
}
int main(int argc, char* argv[])
{
file("in.txt","慎游逗out.txt"寬賣);
return 0;
}
㈧ Unix下C編程和Linux C下編程有什麼關系
1 沒有什麼大的區別。
2 使用領域要瞎正看客戶的應用了
3 想接觸這方面的話,最基本的是要精通一門語言。有利於學習編程磨喚悔。鏈遲 還有就是要了解和學習Linux系統。
㈨ 《C程序設計語言第2版·新版》pdf下載在線閱讀全文,求百度網盤雲資源
《C程序設計語言(第2版·新版)》([美] Brian W. Kernighan)電子書網盤下載免費在線閱讀
鏈接:
書名:C程序設計語言(第2版·新版)
作者:[美] Brian W. Kernighan
譯者:徐寶文
豆瓣評分:9.4
出版社:機械工業出版社
出版年份:2004-1
頁數:258
內容簡介:
在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。本書作者是C語言的設計者之一Dennis M. Ritchie和著名計算機科學家Brian W. Kernighan合著的一本介紹C語言的權威經典著作。我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。
原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標准C的基礎。人們熟知的「hello,World"程序就是由本書首次引入的,現在,這一程序已經成為眾多程序設計語言入門的第一課。原著第2版根據1987年制定的ANSIC標准做了適當的修訂.引入了最新的語言形式,並增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統、准確地講述了C語言的各個特性以及程序設計的基本方法。
對於計算機從業人員來說,本書是一本必讀的程序設計語言方面的參考書。
作者簡介:
Brian W. Kernighan,貝爾實驗室計算科學研究中心高級研究人員,著名的計算機科學家。參加了UNIX系統、C語言、AWK語言和許多其他系統的開發,同時出版了許多在計算機領域具有影響的著作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。
Dennis M. Ritchie,1967年加入貝爾實驗室。他和 Ken L. Thompson 兩人共同設計並實現的C語言改變了程序設計語言發展的軌跡,是程序設計語言發展過程中的一個重要里程碑。與此同時,他們還設計並實現了UNIX操作系統。正是由於這兩項巨大貢獻,Dennis M. Ritchie 於1983年獲得了計算機界的最高獎——圖靈獎。此外,他還獲得了ACM、IEEE、貝爾實驗室等授予的多種獎項.。
㈩ 如何開始unix下c編程的學習
ubuntu是Linux 的一種,Linux 不是 Unix ,是它的類似的操作系統。網路有他們的介紹。
Unix 、Linux 環境下,最佳的GNU 編譯器確實是 gcc,他包含了 C、C++、Objective-C、 Fortran、 Java、 Ada、 Go 語言的編譯功能,相當強大。
emace確實是文本編輯器,確實可以用來編寫源代碼,然後用gcc編譯連接成為可執行程序。
如果只是學習編程的話,用虛擬機確實可以實現要求。至於是否願意安裝一個全新的操作系統,則隨自己的意願。不過如果你確實打算在Linux系統下好好學習編程的話,建議還是安裝一套的好。