導航:首頁 > 源碼編譯 > c51編譯器代碼補全

c51編譯器代碼補全

發布時間:2022-09-14 21:57:23

1. gcc編譯器和嵌入式keil的C51編譯器有什麼不

前者是通用的C語言編譯器,後者相當於是個定製版。C51中定義了一些原先C語言中沒有的類型以及寄存器定義、同時鑒於單片機通常只有幾KB的內存空間進行了代碼生成量優化,專門用於單片機的開發,這些都是在GCC這樣標準的ANSI C編譯器中所沒有的。

2. 主流c51單片機編譯器比對

keilc當然是比較好的了.

3. keilc51有代碼補全功能嗎

不可以實現代碼補全功能

4. C51將C代碼匯編有ADD A , ACC 怎麼回事

A與ACC都代表累加器,同一地址,但是在匯編里,寫法A與ACC擁有不同的含義
A是包含在指令里的,指令碼不同;而ACC卻是作為操作數出現,代表地址
就相當於匯編指令有,MOV A,Rn同時也有MOV direct,Rn等不同的指令
MOV A,R0 與 MOV ACC,R0就會生成上述兩種不同的機器碼,但是結果一樣

那麼就好理解了ADD A,ACC就使用指令ADD A,direct,direct就是ACC符號所表示的地址,也就是累加器自己相加,相當於X2,也就是左移

5. 主流C51單片機編譯器比對

int short 的大小是因機器而異嘛(准確點應該是編譯器)。你都說了人家規定的是「最小」為16位,又不是只能是16位,也沒有說兩者應該相等(事實上是short不超過int就OK啦)。所以當然可以short類型為半個機器字長,而int類型則為一個機器字長的啦。

「C++標准規定了每個算術類型的最小存儲空間,但他並不自知編譯器使用更大的存儲空間 」

說簡單點就是C++規定了個最小的值,但是將你的代碼編譯成機器碼的編譯器則確定了你這個長度值為多少。因為C++是一種語言,一個規范,或者說只是一種規定,然後要將你按這種規范寫的代碼編譯成能在機器上運行的代碼的是編譯器。而在不同的機器上運行的程序的實際結構是不一樣的,比如單片機與PC相差就很大。要將按相同規范寫的程序在各種各樣亂七八糟的機器上運行,就需要相應的編譯器了。所以實際的大小是由你編譯代碼的編譯器確定的。

PS:當然當前一般的PC上int都是32位,short16位的。因為現在32位的機子是主流嘛。如果你不寫什麼單片機的程序可以不用太在意這個問題。但是寫單片機程序時就要注意了,因為一般一個單片機的編譯器可以編譯很多種型號晶元的代碼,而這些型號有可能從8位到32位都有……

6. keil c51優化等級介紹

一般用優化等級8,其它的別用,容易出事。
編譯完之後多留意data,xdata,看有沒超出晶元的最大值,
特別是data,不能超過128,甚至太接近128有時也會出問題。
如果data 需要使用到256,則另外的128用idata定義

7. C51編譯時提示出錯,但我怎麼也找不出錯在哪裡了

你前面加了頭文件(*.h)沒有?

我加了個main函數,編譯之後 是沒有錯誤的啊
error C141: syntax error near 'void'可能是函數前後少了"{"或者"}",你應該仔細檢查一下的
還有,error C202: 'TempCyc': undefined identifier這一句錯誤可能是在main函數中也使用了TempCyc,而沒有在主函數中定義,這個變數在void Delay5Ms(void)中只是局部變數

#include "reg52.h"

void Delay5Ms(void)
{
unsigned int TempCyc;
TempCyc=5552;
while(TempCyc--);
}

//******400ms延時******
void Delay400Ms(void)
{
unsigned char TempCycA=5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
}
}

void main()
{
while(1)
{
Delay5Ms();
Delay400Ms();
}
}

8. Keil-MDK5.11設置了代碼自動補全,怎麼還是不能補全

不知道解決了沒有,我也遇見一樣的情況。現在可以了。設置界面後有個設置幾個字母提示,換個數字,然後在換回來。確定就可以了。

9. 單片機C語言編程,要使用C語言自帶的庫函數,使用哪個宏包含命令

使用#include調用庫函數。
C51語言的編譯器中包含有豐富的庫函數,使用庫函數可以大大簡化用戶程序設計的工作量,提高編程效率。每個庫函數都在相應的頭文件中給出了函數原型聲明,在使用時,必須在源程序的開始處使用預處理命令#include將有關的頭文件包含進來。
C51庫函數中類型的選擇考慮到了8051單片機的結構特性,用戶在自己的應用程序中應盡可能地使用最小的數據類型,以最大限度地發揮8051單片機的性能,同時可減少應用程序的代碼長度。
單片機c語言編程是基於C語言的單片機編程。單片機的C語言採用C51編譯器(簡稱C51)。由C51產生的目標代碼短,運行速度高,存儲空間小,符合C語言的ANSI標准,生成的代碼遵循Intel目標文件格式,而且可與A51匯編語言PL/M51語言目標代碼混合使用。51單片機支持三種高級語言,即PL/M,C和BASIC。C語言是一種通用的程序設計語言,其代碼率高,數據類型及運算符豐富,並具有良好的程序結構,適用於各種應用的程序設計,是使用較廣的單片機編程語言。

閱讀全文

與c51編譯器代碼補全相關的資料

熱點內容
如何添加後台app 瀏覽:350
中國移動機頂盒時鍾伺服器地址 瀏覽:943
如何開發app流程 瀏覽:427
哈爾濱編程培訓課程 瀏覽:722
編程語言執行速度排行 瀏覽:174
啟辰原廠導航如何裝app 瀏覽:840
jsp項目優秀源碼 瀏覽:757
如何查看電腦web伺服器埠號 瀏覽:901
小區物業管理系統編程源碼 瀏覽:95
王城戰爭為什麼無法獲取伺服器列表 瀏覽:804
劍橋商務英語pdf 瀏覽:480
伺服器如何不休眠 瀏覽:800
微機原理及介面技術編程 瀏覽:204
解壓迷你游戲機手柄 瀏覽:553
androidrtsp框架 瀏覽:545
阿里女程序員內網徵婚 瀏覽:78
比例閥放大器接plc編程 瀏覽:852
java表示二進制 瀏覽:394
數控銑床外輪廓編程 瀏覽:91
pdftomp4 瀏覽:821