|
C語言出現之初,跨平臺是個極大的賣點。于是,我們有機會看到這樣的代碼:
int sys_old_mmap(struct tcb *tcp) {
long u_arg[6];
#if defined(IA64)
int i, v;
for (i = 0; i < 6; i++)
if (umove(tcp, tcp->u_arg[0] + (i * sizeof(int)), &v) == -1)
return 0;
else
u_arg[i] = v;
#elif defined(SH) || defined(SH64)
int i;
for (i=0; i<6; i++)
u_arg[i] = tcp->u_arg[i];
#else
if (umoven(tcp, tcp->u_arg[0], sizeof(u_arg), (char *) u_arg) == -1)
return 0;
#endif // defined(IA64)
return print_mmap(tcp, u_arg);
}
it知識庫:代碼之丑(十)——條件編譯那些事兒,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。