单项选择题

宏与子程序的相同之处为()

A.目标代码都是唯一的
B.都需要先定义后调用
C.执行时需要保护现场/恢复现场
D.目标代码都不是唯一的