[工作笔记]2018-09-03~2018-09-07

工作内容:

  学习Libevent,两个文档:《libevent源码深度剖析(张亮)》《libevent中文帮助文档》(都有可下载的文档),建议边看文档边看源码,先了解一下event、event_base以及一些常用函数,然后完整的看一遍源码深度剖析(内容比较少看,可以比较快的深入了解一边),然后看中文帮助文档查漏补缺。

   实际操作,遇到麻烦,git上的安装说明和源码不搭呀?准备在家里的电脑上尝试一下libevent的编程。

09-19补充:https://blog.csdn.net/luotuo44/article/category/2435521/1

 

家里的测试:

   1. 虚拟机是Ubuntu,首先安装git就遇到了麻烦,囧。最后在git官网上找到的可行的安装命令: sudo apt install git-all

   2. 怎么安装libevent

    2.1 发现个不正经的网站?http://www.howtoinstall.co/

      2.1.1 咦,在这个网站上找了一下,libevent还真有core、dev、extra、openssl等等各种版本,什么情况?

    2.2 其实安装很简单,从 libevent.org官网上下载发行版软件包,然后按 README.md 里说的做就可以了。

      2.2.1 运行 make verify 进行环境测试的时候有一个报错,看不懂,没管它,sudo make install 好像没什么影响。

    2.3 git上下载的代码好像有问题,反正我是安装不了。

  3.编译还是有问题,编译器找不到 libevent。解决参考:https://blog.csdn.net/move_now/article/details/77585464

    3.1 编译时需要增加 -levent 选项: gcc test.c -o test -llibevent

    3.2 还需要对libevent做软链接(否则运行时提示找不到so),ln -s /usr/local/lib/libevent-2.0.so.5 /usr/libevent-2.0.so.5  我也不知道为什么明明编译libevent时是用的 2.0.22 编译后的so却是 2.0.so.5 黑人问号脸?

  4.我的示例代码:https://www.cnblogs.com/laymond/p/9612514.html

 

vim

  写代码测试的时候发现ubuntu上的vi好像有问题??特么回车键、删除键和方向键都不支持的吗??

  灵机一动,用vim试了试,真特么好用。

 

socket:

编程实例的发现:

  TAILQ_INIT 原来linux里队列是这么用的吗,函数都改成宏定义了。参考资料

1 //queue.h
2 
3 #define TAILQ_INIT(head) do {               \
4   (head)->tqh_first = NULL;              \
5   (head)->tqh_last = &(head)->tqh_first;      \
6 } while (0)

*刚开始看到了一个错误的博客,蛋疼,看的都怀疑自己的水平了。

 

关于《STTY修改串口命令后一按回车操作就被复位的问题》!

  因为在《Unix环境高级编程》中 tty 后面一节紧接着就是讲伪终端,所以留了个心,周末晚上终于有线索了。

  1. http://www.360doc.com/content/11/0126/16/3508740_89170485.shtml 在这片文章中有一个“stty -onlcr < /dev/pts/0”的示例,我试着用终端1修改了终端2的参数,果然!!!终端2一按回车参数就复位了!!!卧槽!!!下周一定要详细看看伪终端的章节!!

  2. 还有2篇没看,太激动了看不想去了,留着周一看,感觉会有线索:

    http://www.360doc.com/content/09/0926/15/26398_6464170.shtml 有一句写道“在头两行中,显式地告诉 devfsd ,当内核中注册了任何伪终端设备或当它们的属性被更”

    https://www.cnblogs.com/zzdyyy/p/7538077.html

 

posted on 2018-09-03 11:36  laymond  阅读(103)  评论(0编辑  收藏  举报

导航