嵌入式C語言和通用C語言有什麼區別

2021-03-04 08:54:36 字數 3805 閱讀 3166

1樓:北京智匯聯科技

語法上沒什麼

bai區別,就是普通du的c程式設計是在os之上,有很多zhi的標準庫函式可以調dao用內,分配的記憶體就是容pc機的記憶體,處理器就是pc的cpu。 而嵌入式c程式設計的話會涉及到操作硬體,所以底層沒有庫函式呼叫,需要自己編寫操作硬體的函式,另外編譯的時候是用交叉編譯器,記憶體是晶元上的ram, 處理器就是晶元帶的處理器,例如arm或者mips等等,而不是pc的x86 cpu, 還有就是在寫程式的時候更注重程式的優化和效率,因為嵌入式硬體資源相對pc有限,實時性較強等等。

希望對你有幫助。

c語言和嵌入式c語言有什麼區別

2樓:匿名使用者

實際上是沒有太大的差別,只是本身的庫可能不同,嵌入式有很多時候會受到硬體的限制,同時,在編寫嵌入式的程式時,對於實時性要求可能會很高,同時,由於嵌入式系統一般記憶體,cpu等資源有限,程式設計時需要特別考慮系統的高效性……

3樓:於迎偉

語法沒什麼區別,在標準庫的基礎上加入了自己的一切庫函式,比如linuxc

4樓:戰雅逸韓帆

唯一的區別就是注意棧的的深度,記憶體太小棧容易被擊穿!呵呵,開玩笑。其實沒啥區別,其編譯器都遵循c標準。

5樓:緱安荷楚新

從c語言來看沒有區別,要說有區別就是面試的人忽悠被麵的人.使用上可能要注意的點會有點不一樣:1.

記憶體分配要注意;2.堆疊使用要注意;3.跟硬體相關的一些東西要注意;4.

要有系統概念,涉及到rtos或者自己寫的前後臺系統.

6樓:釁悅遠揭勤

語法上什麼的是沒什麼區別了....都遵循標準嘛!編譯器和平台的不同當然在一些細節上有區別了!

c語言和嵌入式c語言有什麼區別

7樓:┃vest丶

嵌入式c語言和c語言是完全一樣的,寫**上完全沒有區別。下面由卓躍教育為您介紹它們兩者間的區別。

區別在於嵌入式的c語言是跑在嵌入式的開發板上的,cpu和我們電腦不一樣,所以編譯器也是不一樣的,生成的可執行程式也是不一樣的。

首先c語言,這個是毋庸置疑的,不管是做嵌入式軟體還是硬體開發的人員,對c語言的掌握這個是必需的,特別是對於以後致力於嵌入式

後,就該寫**了,動手才是最重要的,當你動手了,遇到問題了,再反過來學習,反過來查查課本,那時的收穫就不是你死看書能得到的。

其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序、執行緒,系統

驗,會有更好的理解的。

還有應該學習嵌入式系統,如linux或者wince下的程式設計,這些對以後做應用的程式設計很有幫助,當然,如果做手機的話,那可以學習mtk、塞

班、android等作業系統,android是以後發展的趨勢,現在很熱門,android也是基於linux系統封裝的,所以建議先學習下linux。

還有,應該學習下微控制器或者arm或者mips,很多人說我沒有微控制器的經驗,直接學arm可以嗎?我覺得那完全沒有問題的,當然如果你學

習過微控制器,那最好不過了,以後學習arm就更簡單了。

最後如果你把以上的知識都有所了解後,就該去閱讀閱讀一些優秀的**,比如結合arm晶元手冊學習去學習下uboot的源**,了解下最

小的系統開發,那對你整個嵌入式開發的非常有幫助的,可以的話,還可以學習下linux的源**,當然如果你直接閱讀2.6的**,我想你會

很痛苦的,可以先看看linux**早期的版本,比如0.12的**等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。

最後,希望這篇文章對熱愛嵌入式,想致力於嵌入式開發的朋友有所幫助。

嵌入式c語言中 &= ~和|=各是什麼意思

8樓:匿名使用者

&是按位與(雙目運算子,需要2個運算元)

|是按位或(雙目運算子)

~是按位非(單目運算子)

a|=b等價於a=a|b;

同理a&=b等價於a=a&b

所以rintpnd |=bit_uart0;等價於rintpnd=rintpnd | bit_uart0

rintsubmsk &= ~bit_sub_rxd0等價於rintsubmsk = rintsubmsk &(~bit_sub_rxd0)

按位運算就是運算的時候先將運算元換算成二進位製數來進行計算譬如3 & 5就是011 & 101=001

9樓:匿名使用者

&= ~ 是關閉的意思

|= 是開啟的意思

10樓:匿名使用者

查一下位運算和復合賦值運算子

嵌入式系統開發中的c語言程式設計和普通c語言程式設計有何區別?

11樓:

無區別,只不bai過編譯du器不一樣罷了。因為不同的zhicpu構架有不同的dao指令集專。而嵌入式基本屬使用risc結構的cpu,需要使用pc上的cpu編譯出在能嵌入式cpu上執行的二進位制程式。

這叫交叉編譯。pc上的程式不可以直接在其他cpu上執行,需要重新編譯。

因為編譯器不一樣,執行的c語言標準就跟編譯器相關。

管理記憶體對映,設定中斷系統等在pc上也有,不是嵌入式的專利。

只是做嵌入式裡的介面、網路、檔案程式設計的話,跟pc上幾乎沒有差別,因為有作業系統罩著。如果開發驅動程式,就要求你對所使用的cpu和板子的結構很了解,也就是看得懂硬體手冊即可。

另外嵌入式環境同pc的差別 如cpu位數、硬體資源緊缺等是需要程式設計師考慮的。

12樓:匿名使用者

無區別,只是你bai

操作的層du面不一樣。普通程式設計zhi層次較高些(一dao般而言),而嵌入式操作的大部專分偏底層,如管屬理記憶體對映,設定中斷系統等。

看來deep_pro也很了解。不過他也挺贊同我的:1、承認嵌入式系統開發中的c語言程式設計和普通c語言程式設計無區別;2、補充只是編譯器有較大區別,這對程式設計師來說基本是透明的;3、基本贊同我「嵌入式開發中的c語言大多數情況下需對硬體底層操作(因為你別指望嵌入式上能跑起乙個龐大的作業系統),而普通c程式設計則不然(相信基本沒有程式設計師在pc上程式設計時還去控制pc上的記憶體對映)。

」綜上所述,我要謝謝deep_pro贊同我。

13樓:匿名使用者

你把郵箱告訴我,我給你發一本《嵌入式c語言》的電子書。

14樓:阿鸞

要懂得系統架構~~~~~~~~~~~~~~~

樓上的電子書給我乙份可以嗎?164461676@**.***

15樓:

希望bai可du能zhi幫dao到版你權

16樓:太清隱者

嵌入式開發面向應用,面向系統,面向硬體

嵌入式c語言和標準c的區別

17樓:驚慌夜

嵌入式c語言和c語言是完全一樣的,寫**上完全沒有區別。下面由卓躍教育為您介紹它們兩者間的區別。

區別在於嵌入式的c語言是跑在嵌入式的開發板上的,cpu和我們電腦不一樣,所以編譯器也是不一樣的,生成的可執行程式也是不一樣的。

首先c語言,這個是毋庸置疑的,不管是做嵌入式軟體還是硬體開發的人員,對c語言的掌握這個是必需的,特別是對於以後致力於嵌入式

本人小白,開始學習嵌入式。求大神指教,C語言和資料結構在其中的重要性

基本上,除了一些特別的例子外,c,c 已經是開發嵌入式作業系統或是軟體,使用最多,最頻繁的語言。接近低階組合語言的特性,使得其執行效率僅次於彙編 然後又比彙編更讓人能看得懂。重點其實就是在指標與資料結構等的應用。至於資料結構可以說是一切程式的根本,設計良好的結構,可以讓程式的執行更有效率。結合指標與...

本人兇開始學習嵌入式求大神指教c語言和數

基本上,除了一些特別的例子外,c,c 已經是開發嵌入式作業系統或是軟體,使用最多,最頻繁的語言。接近低階組合語言的特性,使得其執行效率僅次於彙編 然後又比彙編更讓人能看得懂。重點其實就是在指標與資料結構等的應用。至於資料結構可以說是一切程式的根本,設計良好的結構,可以讓程式的執行更有效率。結合指標與...

c語言和c和c的區別

一 c語言是面向過程程式設計的語 言 c 是物件導向程式設計的語言 c 是微軟開發的一種程式語言。二 c 與c 程式語言來說,只是在於設計目的上還是有所區別的。c 的優點在於與底層比較接近,可以控制的粒度更加精細,是開發系統級應用的最佳選擇。三 就c 而言,它通過底層的虛擬機器機制減少了c c 語言...