1。windows和unix操作系统的进程间通讯方法有哪些?
2。列举操作系统的同步对象并举出应用实例。
3。在一个c函数中可以返回5个变量的值吗?c函数为什么不能返回一个大的变量?
4。描述tcp连接建立与释放的过程。
5.怎么在一个链表中插入,删除一个结点?
希望大家讨论一下,谢谢了
2。列举操作系统的同步对象并举出应用实例。
3。在一个c函数中可以返回5个变量的值吗?c函数为什么不能返回一个大的变量?
4。描述tcp连接建立与释放的过程。
5.怎么在一个链表中插入,删除一个结点?
希望大家讨论一下,谢谢了
建立连接:
A B
SYN ----->
<----- SYN , ACK
ACK ----->释放连接:
FIN----->
<-----ACK,FIN
ACK------> 5.插入节点
让插入位置的前一节点的next指针指向待插入的节点,待插入的节点的Next指针指向待插入点的后一节点。
删除:让前一节点的Next指针指向待删节点的下一节点
这样返回一个结构中返回一个指针,会很有效率的免去了值之间的拷贝
1,Socket。
2,Unix系统:信号量、锁、信号灯;Windows系统:临界区、事件。
3,可以,使用指针。因为返回值过大会造成函数栈溢出。
4,建立连接三次握手,释放连接两次握手。
5,是STL的list吗?传入可以用push_back,push_front,insert,删除可以用remove,remove_if,erase.
在第一个问题中补充:
1,socket, messages, pipe, signal, shared memory etc.
windows中特有的:WM_COPYDATA, DDE
2,
3, 返回结构实际上是拷贝这个结构中的数据入栈,数据大了会溢出,但是可以返回结构指针。
4,偶觉得就没什么意思了,无非就是TCP和UDP的connection-oriented和connectionless问题,还不如考考socket的几种基础算法,比较sync和Asyn的优劣。
5,问得太含糊了,都不知道是问的算法还是问的基本实现?如果是后者,可不可以翻资料的?这玩意没什么意义去记的:)