1. C程序中的宏展開是在()。
C:編譯前預處理時進行的
#是編譯預處理指令,以#開頭的操作就是編譯預處理
包含#include在內的都是在編譯預處理時進行處理,處理完成後再把新的代碼交給編譯器進行編譯
2. ARM匯編語言由哪些指令組成它們之間的區別是什麼
機器指令能被處理器直接執行,而匯編指令、偽指令和宏指令不能。機器指令包括ARM指令集和Thumb指令集 。
偽指令是在源程序匯編期間,由匯編編譯器處理。其作用是為匯編程序完成准備工作。
宏指令在程序中用於調用宏,宏是一段獨立的程序代碼;在程序匯編時,對宏調用進行展開,用宏體代替宏指令。
3. 浠涔堟槸瀹忓睍寮錛屾庝箞瀹炵幇錛
瀵逛簬C++瀹忓睍寮錛屽厛璇翠竴鐐癸細
#define鍔熻兘灝嗘簮紼嬪簭鏂囦歡涓鍑虹幇鐨勫瑰畯鐨勫紩鐢ㄥ睍寮鎴愮浉搴旂殑瀹 瀹氫箟錛岀敱棰勫勭悊鍣ㄦ潵瀹屾垚銆傜粡榪囬勫勭悊鍣ㄥ勭悊鐨勬簮紼嬪簭涓庝箣鍓嶇殑婧愮▼搴忔湁鎵鏈変笉鍚岋紝鍦ㄨ繖涓闃舵墊墍榪涜岀殑宸ヤ綔鐨勭『鍙鏄綰綺圭殑鏇挎崲涓庡睍寮錛屾病鏈変換浣曡$畻鍔熻兘銆
瀵逛簬鈥滃甫鍙傛暟鐨勫畯鏇挎崲鈥濓紝鍙浠ョ敱涓嬪垪浠g爜灝濊瘯鐞嗚В涓
#include <stdio.h> #define min(x,y) ({ typeof(x) _x = (x);typeof(y) _y = (y); (void) (&_x == &_y); _x < _y ? _x : _y; }) //闃叉x鍜寉涓轟竴涓琛ㄨ揪寮鍜屽け鍘諱簡綾誨瀷媯嫻嬪姛鑳斤紱
#define min_replace(x,y) ({ x < y ? x : y; })
void main()
{
int x=1;
int y=2;
int result = min(x++,y);
printf("娌℃湁鏇挎崲鏃剁殑榪愯岀粨鏋滀負:%d\n",result);
int x1=1;
int y1=2;
int result1 = min_replace(x1++,y1);
printf("鏇挎崲涔嬪悗鐨勮繍琛岀粨鏋滀負錛%d\n",result1);
return ;
}
闇瑕佹敞鎰忥細
瀹忓悕鍜屽弬鏁拌〃鐨勬嫭鍙烽棿涓嶈兘鏈夌┖鏍箋
瀹忔浛鎹㈠彧鍋氭浛鎹錛屼笉鍋氳$畻鍜岃〃杈懼紡奼傝В錛岃繖涓鐐硅佹牸澶栨敞鎰忋
鍑芥暟璋冪敤鍦ㄧ紪璇戝悗紼嬪簭榪愯屾椂榪涜岋紝騫朵笖鍒嗛厤鍐呭瓨銆傚畯鏇挎崲鍦ㄧ紪璇戝墠榪涜岋紝涓嶅垎閰嶅唴瀛樸
瀹忕殑鍝戝疄緇撳悎錛堝搼瀹炵粨鍚堢被浼間簬鍑芥暟璋冪敤榪囩▼涓瀹炲弬鏇誇唬褰㈠弬鐨勮繃紼嬶級涓嶅瓨鍦ㄧ被鍨嬶紝涔熸病鏈夌被鍨嬭漿鎹銆
瀹忓睍寮浣挎簮紼嬪簭鍙橀暱錛岃屽嚱鏁拌皟鐢ㄥ垯涓嶄細銆