當前位置:首頁 » 操作系統 » linux應用程序開發教程

linux應用程序開發教程

發布時間: 2022-08-11 18:24:26

1. linux嵌入式開發,如何學習,沒目標版開發箱,尋覓指路人169

嵌入式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本身。演算法,架構方式等都很重要。

這里很多書其實是推薦而已,不必太在意,關鍵還是基礎,才是重中之重!!!

2. 學習Linux的步驟是怎樣的

對於Linux的學習,可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方向細化階段
第一階段:初級階段
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
1. Linux基礎知識、基本命令;
2. Linux用戶及許可權基礎;
3. Linux系統進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1. TCP/IP網路基礎;
2. Linux企業常用服務;
3. Linux企業級安全原理和防範技巧;
4. 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎;
5. iptables安全策略構建;
6. shell腳本進階;
7. MySQL應用原理及管理入門
第三階段:Linux高級進階
1. http服務代理緩存加速;
2. 企業級負載集群;
3. 企業級高可用集群;
4. 運維監控zabbix詳解;
5. 運維自動化學習;
第四階段:Linux資深方向細化
1. 大數據方向;
2. 雲計算方向;
3. 運維開發;
4. 自動化運維;
5. 運維架構師
以上是Linux的一個學習方向和路線,對於Linux學習是一個需要堅持的過程,也許通過自學或者培訓,3至6個月都可以把基本知識學會,但是重在實踐,深入的思考和不斷的摸索,你會發現Linux更多的美!

3. 如何在linux下用gtk開發圖形界面應用程序

* 使用 GTK+ 和 Glade 快速開發 Linux 圖形界面

** GTK+ 簡介

*** 基本概念

GTK+ 是一種用於創建圖形界面的庫. 嗯, gnome 用的就是它, 不過並不是說只
有在 gnome 環境中才能用, 只要系統上裝有 GTK 的庫 (基本上有圖形系統的個
人機都會有的啦) 就能運行基於 GTK 的程序. 除了 UNIX-like 平台, 它還移植
到 windows 上, 還有面向嵌入設備的 framebuffer 版本等等.

GTK 依賴兩個重要的庫. 一個是 GLib, 這並不是一個圖形庫, 也和 glibc 不同
, 它大抵上提供了一些介面以屏蔽系統的不同, 比如 gint 在哪裡都是 32bit
的, 等等; 另一個是 GDK, 它是一個設備無關的圖形庫, 支持基本的畫點, 以及
與窗口管理器溝通等任務, 由於 GTK 被設計成能在各個平台, 而非僅僅在
XWindow 環境下使用, 所以這個庫也是必要的. 而在他們上面的 GTK 庫, 就提
供了一些 widget --- 可以理解為控制項啦, 不過窗口也是一個 widget 的說, 給
我們使用, 並提供了包裝良好的事件響應機制.

*** GTK+ 開發基礎

要開發基於 GTK 的軟體, 必須先安裝 GTK+ 的開發包. 檢查是否正確安裝的辦
法是在安裝後執行 ``pkg-config --cflags --libs gtk+-2.0'', 如果安裝不正
確, 會提示找不到相應的包.

GTK 本身是基於 C 的庫, 當然也有 C++ 等語言的 wrap, 但它的整個體系是面
向對象的. 其最基本的類是 GObject, GtkObject 繼承了它, GtkObject 又派生
出我們最經常用到的 GtkWidget, 我們使用的所有窗體控制項都派生於它. 於是,
在 C 環境中我們就要手動處理這些類轉換, GTK 和底層的 GLib 等提供了一種
統一的轉換方法, 比如把類型為 GtkWidget* 的 button 轉換成 GtkButton 形,
寫法是: GTK_BUTTON(button), 就醬子.

我不打算在這里列一個 GTK 的 hello world 占頁面, 這個程序隨便 google 一
下就能找到. 我們可以自己想一想一個圖形界面應該如何建立.

首先我們要進行初始化, GTK 提供了 gtk_init() 作為初始化, 它檢查程序參數
中的一些特定部分, 進行自己的設置. 調用方法如下:

gtk_init(&argc, &argv);

將 argc 和 argv 傳指針的目的是 gtk_init 會對他們進行加工, 把 GTK 自己
用到的一些參數抽取出來.

接著, 我們必須要創建這些控制項吧, GTK 中, 創建一個控制項會返回一個
GtkWidget 類型 (或它的派生類) 的指針, 所有創建控制項的函數的格式是
gtk_控制項類型_new(參數表). 比如創建一個窗口的寫法是:

GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

然後, 我們要設定事件響應函數, GTK 中的事件叫做 signal. GTK 的事件響應
函數介面應該是類似這樣的

void
destroy(GtkWidget *widget, gpointer data)

我們把它連入到一個控制項中的方法是這樣的

g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);

應該很好理解吧.

我們創建的咚咚, 要說明他們的位置和包含關系, GTK 用 container 來解決這
個問題, 它可以保證在窗口縮放的時候控制項的擺放依然合理, container 的具體
使用不詳細說, 後面經常要跟 container 打交道, 但基本上不用管 C 代碼, 嗯
. 不過其實我們的任何的可視控制項都繼承自 container, 比如 button 也是一個
container, 它很多時候裝的是一個 GtkLabel, 也就是用來顯示純文本的控制項,
於是我們就能見到一個文本按鈕, 嗯. 使用 container 的方法如下.

gtk_container_add(GTK_CONTAINER(window), button);

這樣 button 就會占滿整個 window 的控制項, 我們後面可以看到可以用
GtkVBox, GtkHBox 等 container 分隔窗體.

好了, 我們可以准備啟動程序了, 我們可以用 gtk_widget_show() 來顯示各個
控制項, 然後我們就應該進入到所謂的事件響應循環了, 這就要使用 gtk_main().

在程序運行過程中, 我們要操縱控制項, 比如說我們要在一個 entry 控制項(文本框
) 中取出其中的文字, 這樣的操作使用 gtk_控制項類型_動作(對象, 參數) 的形
式完成的, 比如剛才所說的任務, 做法是 gtk_entry_get_text(entry).

順便講講 GTK 程序的退出, 關閉 GTK 的窗口 (即使是所有窗口) 也不代表程序
退出, 因為那說到底只是一個界面而已, 我們當然可以使用 exit() 的自爆法退
出, 但最好還是給 GTK 一個料理後事的機會, 在主窗口的 destroy 事件響應函
數上用 gtk_main_quit() 就好了.

編譯 GTK 程序的辦法也很簡單.

gcc -o foo foo.c `pkg-config --cflags --libs gtk+-2.0`

** 使用 Glade 快速定製用戶界面

好了, 說了一堆有的沒的, 如果我現在說我上面說的那一堆中的大部分我們都不
會用到, 是不是覺得偶很歉扁? 前面的介紹只是給大家 GTK 這個庫的一些基本
概念, 概念就好了, 我們倒真的不用拿這些來編程的. 想想, 一個復雜一點的界
面, 十幾個控制項, 再加上各種各樣的 container, 自己掛事件, 再加上超常的命
名, 想想都恐怖.

這時候, Glade 橫空出世了! 這是一個可視化的界面編輯器 --- 但它僅僅是一
個界面編輯器而已, 甚至連代碼編輯框也沒有給出. 先不管了, 打開 glade (安
裝省略, 饒了我把, 記得裝 libglade-dev), 應該很好懂了, 指指點點就能弄好
一個界面, 然後在屬性窗的信號一欄中選取需要的信號, 設定響應函數, 非常好
弄.

玩了幾分鍾, 問題來了, 怎麼把它變為程序啊? 提供類似功能的 IDE 如
Borland C++ Builder, 在點擊創建新控制項的時候, 我們能即使在代碼窗看到自
動生成的代碼, Glade 也可以採用這種形式, 在設計好界面並保存後, 按一下主
窗口的 build 按鈕, 它就自動生成了界面代碼, 根本不用自己寫的. 打開代碼
目錄, callbacks.c 里已經有自動創建的事件響應的空函數, 在裡面填處理, 然
後 configure make 就行了.

但是, 這樣的開發方式還是有問題的. 第一, 自動生成的代碼非常復雜, 可是很
多時候我們還是不能完全不看它, 處理和界面是混在一起了, 理解他們變得困難
; 其二, 由於以上的原因, 修改界面變得非常痛苦; 其三, 它給你生成那堆有的
沒的配置文件不一定是你想要的.

因此 glade 提供了另一種方法, glade 編輯所得的 .glade 文件是一個 XML 文
件, 其實它已經完整地描述了界面, 我們能否採用一種簡單的方式直接載入, 配
置它呢. 這樣做, 我們的代碼中就真真正正地去處了煩人的界面生成代碼, 而專
注於處理部分了.

libglade 正是由於這個而來, 它能很好地完成上面所說的工作. 當我們用
glade 創建了一個 .glade 界面後, 用這種方法我們就可以建立界面, 運行程序
了.

#include <gtk/gtk.h>
#include <glade/glade.h>

GladeXML *GUI;

int
main(int argc, char **argv)
{

gtk_init(&argc, &argv);

/* load the interface */
GUI = glade_xml_new("frame.glade", NULL, NULL);

/* connect the signals in the interface */
glade_xml_signal_autoconnect(GUI);

/* start the event loop */
gtk_main();
return 0;
}

剩下的事情很簡單, 如果你的 button 的 clicked 控制項有一個響應函數
on_button_clicked, 你寫

void
on_button_clicked(GtkWidget *widget, gpointer data)
{
// balabalabala
}

就可以了. 所以, 上面講的一堆創建界面的方法, 其實大部分時候都用不著.

由於用到了 libglade, 我們的編譯方法變為

gcc -o foo foo.c `pkg-config --cflags --libs libglade-2.0`

** 開發舉例

一個很簡單的程序, 密碼學對稱加密演算法要用到的, 如果說是界面, 就是三個文
本框: 明文, 密碼, 密文, 三個按鈕, 加密, 解密, 清除, 完了. 為了實驗眾多
的演算法, 我們加了一個下拉窗口, 用來選擇演算法. 我把它設計成一個 wrapper
和框架, 它不實現任何演算法, 只是在界面中獲取用戶輸入, 調用外部程序, 並把
結果顯示出來而已. 這樣, 實際的演算法實現可以用純 C 寫的文本界面程序完成,
移植起來很方便, 在 windows 隨便做個一樣的界面做前端就整個移植過去了.

於是, 我們需要的窗體元素是 GtkEntry, GtkComboBoxEntry, GtkButton, 查查
手冊, 我們用到的界面相關的函數只有以下幾個:

- gtk_entry_get_text(), 用於獲取文本框輸入

- gtk_entry_set_text(), 用於在文本框中顯示結果

- gtk_combo_box_get_active_text(), 用於在 ComboBoxEntry (派生自
ComboBox) 取出用戶選中的演算法.

另一個問題是, 他們都需要相應的對象指針做參數, 這應該怎樣獲得呢? 我們使
用 glade_xml_get_widget(GUI, "控制項名") 就能取得控制項了.

4. 怎麼學習linux

Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。

實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。

學習主要內容有:

1)網路基礎與linux系統的管理

2)優化及高可用技能

3)虛擬化與雲平台技術

4)開發運維

畢業後可從事的工作有:

1)Linux運維工程師

2)資料庫工程師

3)雲計算運維工程師

4)自動化運維工程師

5)雲計算架構工程師等

互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。

想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。

祝你學有所成,望採納。

5. 新手怎樣在Linux環境下開發數據採集應用程序

如何才能成為一個程序員,從中國上這些大量的優秀的培訓資料、學習向導入手將會是個不錯的開始。 工具/原料 電腦,中國絡 步驟/方法 首要之首:不要中國於選擇一種語言 新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言最好。 我們應該理解:說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要中國於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。 根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從中國站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門 手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。 桌面腳本 想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey (Windows) 或 Automator (蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是真正的編程語言。 也許他們說的是對的技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口而且你會吃驚於它們豐富的功能。 例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導: how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載 Texter源代碼 看看這個功能齊全的使用AHK開發的Windows應用程序的內部結構)。 Web開發 除了把自己約束在特定的編程語言和特定的操作系統上,你還可以在瀏覽器里開發你的殺手鐧程序,讓它在互聯中國上運行,這就是webapp。 歡迎來到奇妙的web編程世界。 HTML 和 CSS:開發中國站,你第一件要知道的事情就是HTML(中國頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言它們只是頁面的結構和樣式信息。 然而,在開始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個 HTML 指導 是你入手的好地方。 javaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關於因素。 學習JavaScript從這里開。 伺服器端腳本:一旦你學會了中國頁里的知識,你就要開始對它添加一些動態伺服器操作為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, Python, Perl, 或 Ruby。 舉個例子,如果想要製作一個中國頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的中國站,這樣的語言正是你需要的。 Webmonkey 是一個優秀的web開發資源中國站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的 PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟資料庫交互。 中國上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 Web框架:過去數年裡,web開發人員在開發動態中國站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新中國站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是 他的如何在沒有任何經驗的情況下搭建一個中國站。還有一些其他的web開發框架包括 CakePHP (針對 PHP 編程者), Django (針對 Python 編程中), 以及 jQuery (針對 JavaScript). Web APIs: API (應用層序編程介面) 是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的中國站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。 The Google Maps API 可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是 Twitter的)。 瘋狂吧。 命令行腳本 如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。 很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Peal太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。 如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器: Todo.txt CLI。 插件(Add-ons) 如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說But if only it could do THIS 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。 更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來 how to build a Firefox extension, 這是我在笨手笨腳的研究中國上的一些學習資料後獲得的成果。 很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是 如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個 一個下午時間的快速入門指導開始的。 開發桌面上的Web應用程序 學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如, Adobe AIR 是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的 10個讓你值得去安裝AIR的應用程序。 移動應用開發 能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個 簡單的iPhone應用開發例子 可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個 簡單的視頻教程教你如何開發第一個Hello Android程序(註:可能需要中國才能看這個視頻)。 最後:耐心,刻苦,嘗試,失敗 好的程序員都有一個不達目的誓不罷休的品質,會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的

6. 如何使用eclipse進行嵌入式Linux的開發

如何使用eclipse進行嵌入式Linux的開發

如何使用eclipse進行嵌入式Linux的開發 習慣了在windows環境下開發的程序員在轉到Linux平台時經常會抱怨沒有一個好用的集成開發環境。和windows下常用的一些開發軟體相比,Linux自帶的一些開發環境使用起來要麼界面和操作不夠方便、友好,要麼功能不全。其實我們完全可以在開源社區上找到操作方便,功能強大的開發環境。下面就向大家介紹一個能在Linux上運行,界面和功能與windows上同類軟體相似的開發平台eclipse。

eclipse是著名的跨平台的集成開發環境(IDE),最初是由IBM公司開發的替代商業軟體Visual Age For Jave的下一代開發環境。2001年,IBM將eclipse貢獻給開源社區,現在由eclipse基金會管理。2005年7月,eclipse穩定版3.1.0發布,目前最新的穩定版本是3.4。

eclipse本身只是一個框架平台,最初主要用於java語言的開發。但是眾多插件的支持使得eclipse同樣可以用來開發其他的語言,如c/c++、c#、perl、cobol的等等。cdt(c/c++ development toolkit)就是支持c/c++開發的插件。許多軟體開發商也以eclipse為框架推出了自己的集成開發環境。由於eclipse平台用java實現,所以運行時需要jre(java runtime environment)的支持。下面我們以ubuntu(linux發行版的一種)為例,介紹如何在linux上使用 eclipse+cdt來進行嵌入式Linux應用程序的開發。

一、安裝軟體

在ubuntu下安裝軟體有兩種方法:使用apt-get來自動安裝或手動安裝。用戶使用自動安裝非常方便,適合初學者。但是安裝過程過於依賴資源網站的連接狀況,可能需要耗費過多的時間。這里我們推薦手動安裝的方式,花的時間比較短。

1、安裝jdk

jdk(java development kit)即java開發包,其中包含了運行eclipse所需要的jre. ubuntu預設安裝的gnu版本的jre運行效率不高,所以我們需要安裝sun公司的jre. 首先從sun的網站上(http://java.sun.com/javase/downloads/index.jsp)下載安裝包jdk-6u7-linux-i586.bin,然後如下進行安裝:

# mkdir -p /opt/java
# ./jdk-6u7-linux-i586.bin // 執行自解壓文件,生成目錄
# mv jdk1.6.0_07 /opt/java // 把目錄移到/opt/java下
# cd /opt/java
# ln -s jdk1.6.0_07 jdk
# mv /etc/alternatives/java /etc/alternatives/java.gnu
# ln -s /opt/java/jdk/bin/java /etc/alternatives/java
# export JAVA_HOME=/opt/java/jdk // 設置環境變數

2、安裝eclipse和cdt

從eclipse網站上(http://www.eclipse.org/)下載安裝包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip

# cd /opt
# tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解壓生成eclipse目錄
# export PATH=/opt/eclipse:$PATH
# mkdir -p /opt/cdt
# cd /opt/cdt
# unzip cdt-master-5.0.0.zip
# cp -r plugins/* /opt/eclipse/plugins/
# cp -r features/* /opt/eclipse/features/

二、創建c/c++工程

假設我們已經在linux上安裝好了arm交叉工具鏈,下面介紹如何創建、交叉編譯和調試c/c++工程。為了更直觀的說明,我們截取了相關的圖片:

進入eclipse安裝路徑後,運行eclipse

執行到斷點

eclipse的調試界面和操作和在windows下開發類似.

熱點內容
怎麼解壓pc版游戲 發布:2025-01-16 00:16:32 瀏覽:120
v9更新到91有方舟編譯器嗎 發布:2025-01-16 00:11:49 瀏覽:498
AB系統編程 發布:2025-01-16 00:09:37 瀏覽:619
存儲過程如何遍歷一個表的數據 發布:2025-01-16 00:08:34 瀏覽:873
apkso反編譯 發布:2025-01-15 23:53:20 瀏覽:5
買的騰訊伺服器是裝在電腦上嗎 發布:2025-01-15 23:25:58 瀏覽:411
如何查看電腦的配置是不是i5 發布:2025-01-15 23:24:21 瀏覽:434
PI資料庫 發布:2025-01-15 23:14:42 瀏覽:882
我的世界手機版暖心伺服器 發布:2025-01-15 23:05:02 瀏覽:169
xts壓縮比 發布:2025-01-15 23:02:41 瀏覽:424