- 博客(0)
- 资源 (6)
- 收藏
- 关注
C语言改写matlab版本宋词生成程序
这个是我根据别人写的matlab版本改写而来,我看了下貌似没有用什么算法,不想其他论坛上说的用什么蚂蚁算法,那个据说搞不出来??我也不清楚,反正这个不讲押韵,据说要求越多,算法越好写,总之不管了,我觉得这个生成的宋词也不错。
2011-12-22
linux内核阅读自己的笔记(用WinOrganizer工具打开)
还没读完,作为备份。
sys_socket()
--->retval = sock_create(family, type, protocol, &sock;)
1.*获取套接字的地址 sock = sock_alloc();
2.1128 /*设置类型*/
1129 sock->type = type;
3.1142 * 获取具体传输层的创建函数,不同协议族不同
1143 * pf对应具体的inet_family_ops
1147 pf = rcu_dereference(net_families[family]);
4.1162 * 调用传输层的inet_create()
1164 err = pf->create(sock, protocol);
-------------> static int inet_create(struct socket *sock, int protocol)
1. 260 /*设置链接状态*/
261 sock->state = SS_UNCONNECTED;
2. 269 *查找对应的协议及其操作
272 list_for_each_rcu(p, &inetsw;[sock->type])
293 * 如果没有找到,则继续加载,设置条件,若条件满足则
294 * 返回上面继续查找。最多可以反复加载2次
297 if (unlikely(answer == NULL))
3. 334 *获取sock,为其分配内存,并根据上面查找到的prot,设置其对应的
335 *成员,并初始化内存。
338 sk = sk_alloc(PF_INET, GFP_KERNEL, answer_prot, 1);
4. 344 /*获取端口重用信息*/
345 if (INET_PROTOSW_REUSE & answer_flags)
346 sk->sk_reuse = 1;
5. 364 *初始化接受与发送队列相关的信息,传输控制块
366 sock_init_data(sock, sk);在这里应当注意,这个是重点看,见notes
6. 392 * 在sk_alloc()里面初始化,作为tcp这里则调用tcp_v4_init_sock()
这里面有个很重要的初始化,在三次握手之中会用到。
即1985行的初始化。
395 if (sk->sk_prot->init) {
396 /*
397 * 设置与tcp特性有关的信息,拥塞控制信息,窗口信息以及
398 * 设置套接字的状态为TCP_CLOSE,这里调用tcp_v4_init_sock()
401 err = sk->sk_prot->init(sk);
---------------------------->1842 /* NOTE: A lot of things set to zero explicitly by call to
1843 * sk_alloc() so need not be done here.
1845 static int tcp_v4_init_sock(struct sock *sk)
1. 1873 /*设置连接状态信息*/
1874 sk->sk_state = TCP_CLOSE;
在inet_create之中的截图:
对于sk->sk_backlog_rcv的初始化。
------> int sock_map_fd(struct socket *sock)
将文件节点与套接字联系起来
1.395 struct file *newfile;
396 int fd = sock_alloc_fd(&newfile;);
399 int err = sock_attach_fd(sock, newfile);
2012-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅