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 ;
}
闇瑕佹敞鎰忥細
瀹忓悕鍜屽弬鏁拌〃鐨勬嫭鍙烽棿涓嶈兘鏈夌┖鏍笺
瀹忔浛鎹㈠彧鍋氭浛鎹锛屼笉鍋氳$畻鍜岃〃杈惧紡姹傝В锛岃繖涓鐐硅佹牸澶栨敞鎰忋
鍑芥暟璋冪敤鍦ㄧ紪璇戝悗绋嬪簭杩愯屾椂杩涜岋紝骞朵笖鍒嗛厤鍐呭瓨銆傚畯鏇挎崲鍦ㄧ紪璇戝墠杩涜岋紝涓嶅垎閰嶅唴瀛樸
瀹忕殑鍝戝疄缁撳悎锛堝搼瀹炵粨鍚堢被浼间簬鍑芥暟璋冪敤杩囩▼涓瀹炲弬鏇夸唬褰㈠弬鐨勮繃绋嬶級涓嶅瓨鍦ㄧ被鍨嬶紝涔熸病鏈夌被鍨嬭浆鎹銆
瀹忓睍寮浣挎簮绋嬪簭鍙橀暱锛岃屽嚱鏁拌皟鐢ㄥ垯涓嶄細銆