本文目錄一覽:
- 1、在Linux系統上使用C語言編程 – Hello World
- 2、學習linux需要什麼基礎?需要了解C語言和C++嗎?
- 3、如何在linux學習C語言
- 4、怎麼用linux寫c語言
- 5、新手如何學習Linux?
- 6、如何自學Linux下C語言嵌入式編程?詳細點謝謝!書籍及開發板用什麼的最好
在Linux系統上使用C語言編程 – Hello World
C語言和 Linux 系統密切相關,因此在Linux系統上用C編程是一件非常自然的事。大部分的Linux kernel是用C寫的,很多用戶程序也是用C寫的,比如GTK(Gnome和XFCE使用的圖形庫)。很多嵌入式系統和主機系統也是用C寫的。因此,學習C將使我們具備解決Linux系統問題的能力。
C語言有40多年的 歷史 ,由Brian Kernighan, Dennis Ritchie 和 Ken Thompson 在貝爾實驗室創建。最初的操作系統Unix是用彙編語言編寫的,因此有很多不便,當將Unix移植到PDP-11主機時,C語言被作為重新改寫Unix系統的程序語言。1978年,Kernighan 和 Ritchie 編寫了 「The C Programming Language」,推薦您閱讀它。
C語言的編譯過程如下:
在Linux上檢查編譯器的安裝:
gcc -v
ld -v
第一個C語言程序:0001.hello.world.c
———————————-
#include
int main()
{
printf(“Hello, world! “);
return 0;
}
————————————–
編譯:
gcc -o ./exes/0001.hello.world 0001.hello.world.c
運行
./exes/0001.hello.world
學習linux需要什麼基礎?需要了解C語言和C++嗎?
1 、一定的英文基礎是必要的,需要了解C語言和C++。針對學習shell編程,及熟知各種Linux系統命令使用即可。如果有python或perl基礎則更容易上手。
2、 看書時要多做習題,一題一題的弄明白,要不書也白看。從一開始養成良好的編程習慣,怎麼算好的你看書上的代碼怎麼寫的。
3、關於數學, 初中數學水平可以編程,小學甚至學前班也沒什麼不可以。 另一方面數學博士編程的時候也不會嫌自己數學學的太多了。 需要多少數學這跟你要做的東西很有關係, 也影響到你學習的深入程度, 工作中就影響你的代碼質量。 總的來說數學水平是越高越好, 但並沒有一個門檻, 什麼水平都可以學, 就是質量差一些。
4、學習Linux內核開發。Linux的內核是由絕大部分的C語言和少部分彙編語言組成的。要學習Linux內核開發,必須要懂C語言,同時對操作系統原理需要有一定了解。
5、學習Linux平台上的軟件開發。這部分包含很廣,有各種各樣的要,需要根據項目性質確定基礎需求。
Linux操作系統軟件包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟件。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。
如何在linux學習C語言
window,linux C都是一樣的,如果你不用系統函數,主要在於環境,工具的使用,windows用vs2010這種,點一個按鈕編譯,linux一般都自己gcc編譯,熟悉linux常用命令,vi,emacs等編輯器,代碼還是 一樣寫,多用幾次就熟悉了。
怎麼用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?
學習Linux步驟:
1、先了解了解基礎吧,找一本薄一點的,淺一點的書,了解一下什麼是linux。有個基本了解即可。不建議馬上看《鳥哥的Linux私房菜》,這本書很不錯,如果你了解linux基礎之後再看,對你可以說是不受益匪淺都不行。沒基礎看《鳥哥的Linux私房菜》比較痛苦,內容很多。
2、了解之後,在自己電腦上弄個虛擬機,裝上linux系統(redhat或ubuntu都行)。專攻《鳥哥的Linux私房菜》。當你把這本書攻下來時,才知道原來命令行並不可怕,自己打着打着就很長啦。
學linux最主要靠實踐,不實踐,只看書對你沒好處的哦。自己在虛擬機上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找資料弄懂,弄懂之後再實踐,這才會有收穫。
如何自學Linux下C語言嵌入式編程?詳細點謝謝!書籍及開發板用什麼的最好
開發板用友善之臂的吧
mini2440 連3.5寸屏500塊錢的樣子
有好幾張DVD學習光盤
這款口碑比較高
嵌入式Linux操作系統學習規劃
ARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標:
(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2) 必須掌握一個嵌入式操作系統 (初步定為uclinux或linux,版本待定)
(3) 必須熟悉嵌入式軟件開發流程並至少做一個嵌入式軟件項目。
從事嵌入式軟件開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟件那樣容易被盜版。硬件設計一般都是請其它公司給訂做(這叫「貼牌」:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟件開發的缺點是:
(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作系統級軟件功底不深,則可能不適於此行。
(2)這方面的企業數量要遠少於企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。
(4)平台依託強,換平台比較辛苦。
興趣的由來:
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰邏輯思維。
3、喜歡C
C是一種能發揮思維極限的語言。關於C的精神的一些方面可以被概述成短句如下:
相信程序員。
不要阻止程序員做那些需要去做的。
保持語言短小精幹。
一種方法做一個操作。
使得它運行的夠快,儘管它並不能保證將是可移植的。
4、喜歡底層開發,討厭vb類開發工具(並不是說vb不好)。
5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。
方法步驟:
1、基礎知識:
目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統級軟件,那將是我的優勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。
彙編語言、C/C++、編譯原理、離散數學。
數據結構和算法、操作系統、軟件工程、網絡、數據庫。
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。
主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。
2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍後,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最後深入代碼。
主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及彙編即可,不要重複x86。
(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而後深入研究uClinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm彙編指令等。
4、深入學習:
A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼算法和技術。
B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回復
122.90.173.* 2樓
C、網絡與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:Digital Signal Process,DSP處理器通過硬件實現數字信號處理算法。
說明:太多細節未說明,可根據實際情況調整。重點在於1、3,不必完全按照順序作。對於學習c++,理由是c++不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對於linux內核,學習編程,讀一些優秀代碼也是有必要的。
注意: 要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,並具有良好的邏輯思維。一定要理論結合實踐。
不要一味鑽研技術,雖然擠出時間是很難做到的,但還是要留點餘地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、遊戲、科幻電影。還有一些不願意做但必須要做的!
技術是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創業(不要相信有奇蹟發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。
嵌入式書籍推薦
Linux基礎
1、《Linux與Unix Shell 編程指南》
C語言基礎
1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
5、《Linux高級程序設計》 楊宗德著
硬件基礎
1、《ARM體系結構與編程》杜春雷着
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統――體系結構、編程與設計》
2、《嵌入式系統――採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系統原理與實例開發》 楊宗德著
理論基礎
1、《算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》【美】Randal E. Bryant David O”Hallaron着
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網絡》
8、《數據壓縮原理與應用》
C語言書籍推薦
1. The C programming language 《C程序設計語言》
2. Pointers on C 《C和指針》
3. C traps and pitfalls 《C陷阱與缺陷》
4. Expert C Lanuage 《專家C編程》
5. Writing Clean Code —–Microsoft Techiniques for Developing Bug-free C Programs
《編程精粹–Microsoft 編寫優質無錯C程序秘訣》
6. Programming Embedded Systems in C and C++ 《嵌入式系統編程》
7.《C語言嵌入式系統編程修鍊》
8.《高質量C++/C編程指南》林銳
儘可能多的編碼,要學好C,不能只注重C本身。算法,架構方式等都很重要。
這裡很多書其實是推薦而已,不必太在意,關鍵還是基礎,才是重中之重!!!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/296172.html