永发信息网

请问下面的C语言代码是什么意思

答案:6  悬赏:60  手机版
解决时间 2021-02-01 08:35
  • 提问者网友:却不属于对方
  • 2021-01-31 19:13
#define TEMP_FAILURE_RETRY(expression) \
(__extension__ \
({ long int __result; \
do __result = (long int) (expression); \
while (__result == -1L && errno == EINTR); \
__result; }))
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-01-31 19:33
宏替换
即用宏TEMP_FAILURE_RETRY(expression)
来代替函数
{
long int __result;
do __result = (long int) (expression);
while (__result == -1L && errno == EINTR);
__result;
}
目的在于提高效率
全部回答
  • 1楼网友:傲气稳了全场
  • 2021-01-31 22:28
这段代码一般在系统里才会用的吧!
  • 2楼网友:怀裏藏嬌
  • 2021-01-31 22:17
这就是一个别名的定义,把TEMP_FAILURE_RETRY(expression换成下面所有的,有难度吗??这么看不会太明白的,要结合实际使用才行
  • 3楼网友:举杯邀酒敬孤独
  • 2021-01-31 21:28
expression表达式返回值为-1或者错误码为eintr,则重复执行expression!
  • 4楼网友:笑迎怀羞
  • 2021-01-31 20:56
这个函数的功能是找出两个字符串中STR1中含用STR2的位置和相同的字符串,所以要知道位子就要用指针函数 "int tries = strlen(str1) + 1 - k; //这行是什么意思,为什么要加一" 因为后面是TRIES>0,最小就是1,也就是两个字符串长度一样,可以比较一次是不是相同! "return (char *) str1;//这里是什么意思" 这个是返回相同字符串在STR!中的位置!
  • 5楼网友:第四晚心情
  • 2021-01-31 19:40
void setpos(int i,int j) { coord pos={i-1,j-1};//定义一个坐标 为 i-1,j-1 handle hout=getstdhandle(std_output_handle); //获取窗口句柄 setconsolecursorposition(hout,pos);//设置窗口光标位置 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯