本文目錄一覽:
- 1、linux下C語言
- 2、基於Linux下的C語言編程
- 3、Linux系統下的C語言開發都需要學些什麼
- 4、linux下的C語言學習
- 5、怎麼用linux寫c語言
- 6、linux與c語言有什麼異同?
linux下C語言
my_strlen 是函數, 參數應該用括號擴起來;
而且, 這個程序有別的問題, 第15行的while循環語句如何結束? 指針變量str1,str2 的指向位置沒有後移
基於Linux下的C語言編程
#include unistd.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include stdio.h
#include string.h
int
main()
{
int fd;
char * p = “hello”;
char buf[256] = {0};
if (-1 != (fd = open(“./new.txt”, O_RDWR)))
{
if (-1 != write(fd, p, strlen(p)))
{
printf(“WRITE OK\n”);
}
else
printf(“WRITE FAILED\n”);
close(fd);
}
if (-1 != (fd = open(“./new.txt”, O_RDONLY)))
{
if (-1 != read(fd, buf, 256))
printf(“READ: %s\n”, buf);
close(fd);
}
return 0;
}
Linux系統下的C語言開發都需要學些什麼
一、工具的使用
1、學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。新手的話推薦使用vim,這也是我目前使用的文本編輯器。
2、學會makefile文件的編寫規則,並結合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法對於構建一個軟件包很有益處,當軟件包包含的文件比較多的時候,你還能用gcc把它手動編譯出來,你就會對軟件包中各個文件間的依賴關係有一個清晰的了解。
4、掌握svn/cvs的基本用法。這是linux,也是開源社區最常用的版本管理系統。可以去試着參加sourceforge上的一些開源項目。
二、linux/unix系統調用與標準C庫
系統調用應用軟件與操作系統的接口,其重要性自然不用說,一定要掌握。推薦學習資料為steven先生的UNIX環境高級編程(簡稱APUE)。
三、庫的學習
無論是在哪個平台做軟件開發,對於庫的學習都很重要,linux下的開發庫很多,我主要介紹一下我常常用到的一些庫。
1、glib庫
glib 庫是gtk+和gnome的基礎庫,並具是跨平台的,在linux、unix和windows下都可以用。glib庫對於linux平台開發的影響就像 MFC對windows平台開發的影響一樣,很多開源項目都大量的使用了glib庫,包括gimp、gnome、gaim、evolution和 linux下的集群軟件heartbeat.因為glib庫自帶有基本的數據結構實現,所以在學習glib庫的時候可以順便學習一下基本的數據結構(包括鏈表、樹、隊列和hash表)。
2、libxml庫
libxml是linux平台下解析XML文件的一個基礎庫,現在很多實用軟件都用XML格式的配置文件,所以也有必要學習一下。
3、readline庫
readline 庫是bash shell用的庫,如果要開發命令行程序,那麼使用readline庫可以減少很多工作量,比如bash里的命令行自動補全,在readline里就已經有實現,當然你也可以用自己的實現替代庫的行為。readline庫有很多網站介紹的,只要google一下readline就可以找到一堆了。
4、curses庫
curses 庫以前是vi程序的一部分,後來從vi里提取出來成為一個獨立的庫。curses庫對於編寫終端相關的程序特別有用,比如要在終端某一行某一列定位輸出,改變終端字體的顏色和終端模式。linux下的curses庫用的是GNU實現的ncurses(new curses的意思)。
5、gtk+和KDE庫
這兩個庫是開發GUI應用程序的基礎庫,現在linux下的大部份GUI程序都是基於這兩個庫開發的,對於它們 的學習也是很有必要的。
四、網絡的學習
linux下的C語言學習
裝 Fedora 。
掌握的知識至少要先會用吧?
Linux 的開發環境不是一個單獨的程序,而是很多相互補充的程序互相配合組成的。編譯器有編譯器,程序連接器有單獨的連接器,編譯控制器有單獨的控制器。開發環境有開發環境,頭文件有功能軟件庫提供……
很多需要的事情……
—————
你開發難道不想用別人的功能庫?難道所有功能都自己寫?包括圖形界面字符界面的所有的函數都自己寫?
開發程序不光只有 gcc binutils make 就行了,比如有的時候你需要 pkg-config 來獲取某些函數庫的信息,有的時候你需要某些 C header 。有的時候你還需要一些附加的工具來生成某些數據。
ubuntu 這些東西默認不安裝。如果你能知道你需要什麼,自己會去找對應的開發用 C header 文件,那麼我就不在說什麼了。
我見過許多用 ubuntu 開發的人,跑來問怎麼為什麼寫的 GTK 程序提示找不到 Header 。之後讓他自己裝他還不知道裝哪個,哪個文件裡面有他需要的 Header 。結果我的建議是完全安裝,對於 ubuntu 來說,這個有點不可思議。但 Fedora 輕鬆無比,選上開發部分的所有內容即可。
讓別人用 RH9 的是騙子,別理他們。
怎麼用linux寫c語言
Linux正在成為開發人員的編程天堂,成為開源和免費操作系統。 Turbo C編譯器已經是一種編譯程序的舊方法,所以讓程序員轉向Linux以獲得新的編程環境。 在本文中,我們將解釋如何編寫,編譯和運行一個簡單的C程序。 這將成為您遷移到可以在Linux上編寫和執行的更複雜和有用的C程序的基礎。
我們在Ubuntu 18.04 LTS系統上運行了本文中提到的步驟和命令。
我們將使用Linux命令行工具Terminal,以編譯一個簡單的C程序。 要打開終端,您可以使用Ubuntu Dash或Ctrl + Alt + T快捷方式。
第1步:安裝build-essential軟件包
為了編譯和執行C程序,您需要在系統上安裝必要的軟件包。 在Linux終端中以root用戶身份輸入以下命令:
sudo apt-get install build-essential
系統會要求您輸入root用戶密碼; 安裝過程將在此之後開始。 請確保您已連接到互聯網。
第2步:編寫一個簡單的C程序
安裝必要的軟件包之後,讓我們編寫一個簡單的C程序。
打開Ubuntu的圖形文本編輯器,將以下示例程序寫入或複製到其中:
#includestdio.h
int main()
{
printf(“nA sample C program “);
return 0;
}
然後使用.c擴展名保存文件。 在這個例子中,我將我的C程序命名為linuxidc.c
或者,您可以通過gedit中的終端編寫C程序,如下所示:
gedit linuxidc.c
這將創建一個.c文件,您可以在其中編寫和保存程序。
第3步:使用gcc編譯C程序
在終端中,輸入以下命令以生成您編寫的程序的可執行版本:
句法:
$ gcc [programName].c -o programName
示例:
$ gcc linuxidc.c -o linuxidc
linux與c語言有什麼異同?
C和Linux C基本上沒有什麼區別。
我們意義上的普通C,是標準ANSI C,是任何C編譯器都應該遵循的C語言協議。
而Linux C其實特指的是Linux上的GCC編譯器,GCC編譯器完全遵循ANSI C,並在此基礎上又做了一些擴展,例如:
1)對ASM語法的支持
2)編譯器支持內聯函數
3)支持__attribute__機制
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242460.html