C51中預定義巨集

2021-06-16 12:22:55 字數 1213 閱讀 5707

cx51編譯器提供了下列預定義的常量,它使你可以用預處理器指令和c**來建立可移植程式。

常量

說明

型別

__c51__c51編譯器的版本號(例如,810代表版本8.10)。

數值__cx51__cx51編譯器的版本號(例如,810代表版本8.10)。目前該預定義巨集已經被取消。

數值__date__當編譯開始時的ansi格式的日期(如may 17 2008)。

字串__date2__當編譯開始的日期省略格式(如05/17/08)。

注:是早期的日期格式,後來為了符合ansi c標準才改為上述格式,但舊的省略格式也被保留了下來。

字串__file__被編譯的檔名。

字串__line__被編譯檔案的當前行號。

數值__model__所選的儲存模式: 數值

__time__編譯開始的時間。

字串__stdc__定義為1表示和ansi c標準完全一致

n/a

注:"__"為雙下劃線。

假設編譯開始的日期和時間為2023年5月17日15時47分20秒,則__date__與__time__分別為字串"may 17 2008"和"15:47:20",我們也可以按如下定義字串。

char code compile_date = "compile date = " __date__;

char code compile_time = "compile time = " __time__;

上面**編譯後相當於:

char code compile_date = "compile date = may 17 2008";

char code compile_time = "compile time = 15:47:20";

__c51__、__date__、__time__等某些時候很有用,可以找到一些較為有用的資訊,比如產品release時的日期時間以及c51版本,這對於問題的解決和處理非常的有用處。

c51為啥要巨集定義時鐘 c51時鐘

程式效果 時鐘,包括時間可調,定時到了鬧鐘響,用蜂鳴器,本程式已經除錯通過 喇叭接在p2.0上.埠均可自行更改.include 標頭檔案 include define uchar unsigned char 巨集定義 define uint unsigned int sbit key1 p3 5 位...

C 中的預定義巨集

line 程式編譯時包含當前行號 file 程式編譯時包含當前檔名 date 包含乙個形式為 month day year的字串,它表示把原始檔轉換為目標 的日期 time 包含乙個形式為 hour minute second 的字串,它表示程式被編譯的時間 function 包含當前執行的函式的函...

C51用巨集定義代替printf函式

有時候我們想用巨集定義來決定是編譯debug版本的 還是release的 dubug版本的 會通過printf列印除錯資訊,release版本的 則不會。我們總不能對每一條printf都這樣寫 if debug printf hello world endif這樣子實在是太麻煩了!萬一要各個地方都要...