這是從Linux內核源的摘錄。什麼是stem##
用法?在C看到首次C中##是什麼意思?
#define __pcpu_size_call_return(stem, variable) \
({ typeof(variable) pscr_ret__; \
__verify_pcpu_ptr(&(variable)); \
switch(sizeof(variable)) { \
case 1: pscr_ret__ = stem##1(variable);break; \
case 2: pscr_ret__ = stem##2(variable);break; \
case 4: pscr_ret__ = stem##4(variable);break; \
case 8: pscr_ret__ = stem##8(variable);break; \
default: \
__bad_size_call_parameter();break; \
} \
pscr_ret__; \
})
基本的預處理器功能,如'##'操作符,你可以在任何關於C的書中閱讀。這總是一個好主意。這個地方主要是針對你在閱讀這本書之後可能還有的問題。 – AnT
另外,如果你想學習正確的,可讀的標準C編程,Linux內核可能是你應該去看的最後一個地方...... – Lundin
如果你問,請選擇一個更合適的問題標題。通常這是解決方案的第一步。 –