c语言 define 关键字,c语言中define的一个不常见的用法
一個(gè)開源的x86模擬器中的鍵盤宏
我看不懂對(duì)應(yīng)的代碼,我只知道最終的宏_KEY_button這種形式的枚舉,比如_KEY_ESCAPE對(duì)應(yīng)的值是1,但是對(duì)于這個(gè)宏是怎么得出來的不懂,具體來說,第一行中#define _KEYS(_)括號(hào)中的_代表什么意思,枚舉類型中的第二行的_KEYS(_KEY_NAME)為什么不帶參數(shù)
相關(guān)代碼
// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)
define _KEYS(_) \
_(ESCAPE) _(F1) _(F2) _(F3) _(F4) _(F5) _(F6) _(F7) _(F8) _(F9) _(F10) _(F11) _(F12) \
_(GRAVE) _(1) _(2) _(3) _(4) _(5) _(6) _(7) _(8) _(9) _(0) _(MINUS) _(EQUALS) _(BACKSPACE) \
_(TAB) _(Q) _(W) _(E) _(R) _(T) _(Y) _(U) _(I) _(O) _(P) _(LEFTBRACKET) _(RIGHTBRACKET) _(BACKSLASH) \
_(CAPSLOCK) _(A) _(S) _(D) _(F) _(G) _(H) _(J) _(K) _(L) _(SEMICOLON) _(APOSTROPHE) _(RETURN) \
_(LSHIFT) _(Z) _(X) _(C) _(V) _(B) _(N) _(M) _(COMMA) _(PERIOD) _(SLASH) _(RSHIFT) \
_(LCTRL) _(APPLICATION) _(LALT) _(SPACE) _(RALT) _(RCTRL) \
_(UP) _(DOWN) _(LEFT) _(RIGHT) _(INSERT) _(DELETE) _(HOME) _(END) _(PAGEUP) _(PAGEDOWN)
define _KEY_NAME(k) _KEY_##k,
enum {
_KEY_NONE = 0,
_KEYS(_KEY_NAME)
};
總結(jié)
以上是生活随笔為你收集整理的c语言 define 关键字,c语言中define的一个不常见的用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分治应用--万里挑一 找假硬币
- 下一篇: LeetCode 100. 相同的树(二