当前位置:和仁网 >聚合 > 正文

Linux中C语言的一个函数的源代码:socket 编程中的 recv() 函数。

2021-01-22 0

1、recv是socket编最常用的函数,在阻塞状态的recv有时返回不同,而对于错误值也有相错误码,分别对应不同的状态。
2、recv函数只是在用户空间定义的。内核空间有与之对应的函数,也就是说,执行recv函数就会调用到内核中与它对应的函数,实际起作用的就是内核里的这个函数。至于内核里调用的是那个函数,内核里的调用关系复杂的很,除非对内核非常了解的,才会找到到底是怎么调用的,他也是只是找到怎么调用的。这是通过系统调用下去的,找调用号,找宏,然后就找到了函数你好
recv只是在用户空间定义的。内核空间有对函数,也就,执行recv函数就会调用到内核中与它对应的函数,实际起作用的就是内核里的这个函数。
至于内核里调用的是那个函数,你不需要是找,那样会把你看晕的,内核里的调用关系复杂的很,除非对内核非常了解的,才会找到到底是怎么调用的,他也是只是找到怎么调用的,至于为什么这样调用是极少人知道的。得问linux的开发者。因为内核的代码量是太多了。有人花了三年时间才看完内核代码。

souce insight只能查找内核里有的东西,属于内核的。recv()函数是不属于内核的,所以用这个是查找不到的

希望可以帮到你,望选为满意答案在内核中它是sys_recv()建议使用souce:insight查找
本周热门
本月热门