随笔分类 -  linux/unix

SO_REUSEADDR 与 SO_REUSEPORT 选项
摘要:首先一条TCP connection 是由两个 addr-port 的组合组成的 1, 开启 SO_REUSEADDR 可以起到下面4个不同的功能 (1) 即使以前建立的连接还存在,依然可以在这个连接的本地端口号上绑定监听服务器, 通常这个条件通常是这么遇见的 1,启动一个服务器, 监听addr1 阅读全文

posted @ 2016-05-20 00:17 远近闻名的学渣 阅读(433) 评论(0) 推荐(0)

sock地址结构
摘要:/*************************** IPv4 ***********************************/ struct in_addr { in_addr_t s_addr; //s_addr 指socket address, in_addr_t 指 Internet address type }; struct sockaddr_in { ... 阅读全文

posted @ 2016-05-19 22:20 远近闻名的学渣

进程的100种退出方式
摘要:1. 从main 函数 return 时,首先析构自动变量 (按照与声明顺序相反的顺序来析构), 然后执行全局和静态变量的析构,以及注册的 atexit 函数,顺序与声明顺序相反。 A a1; 比如 int main() { A a2; ateixt(fun1); static A a3; retu 阅读全文

posted @ 2016-05-08 18:35 远近闻名的学渣 阅读(517) 评论(0) 推荐(0)

C语言中的标准输入输出流
摘要:1, 标准库中的流是自带缓冲的,通常: 1) 若输入输出为终端,一次缓冲一行 2)若输入输出为文件,全缓冲 3)标准错误不缓冲 也就是说,若混用 read select等系统调用 和 流, 很可能数据被缓冲在流的缓冲区,从而让read,读不到数据,或者数据不能及时写入。并且select也将更难检测 阅读全文

posted @ 2016-03-17 19:57 远近闻名的学渣 阅读(520) 评论(0) 推荐(0)

Unix socket编程杂谈
摘要:一、 同步 、异步、信号驱动IO、阻塞与非阻塞、I/O复用 同步包括了: 阻塞与非阻塞,I/O复用,信号驱动,因为他们在调用read等函数时,如果有数据可读,都会等到数据读取完毕才返回,而异步是发起后直接返回,等待内核通知读写完毕。 同步模型指的是所有的事情都按照某个顺序做完,并且只有一件事做完了才 阅读全文

posted @ 2016-03-15 23:16 远近闻名的学渣

Mac OS X更新EI Capitan之后vim的ycm插件的语法检测出现异常的解决办法
摘要:在更新了系统之后发现ycm插件的的语法检测出现非常奇怪的错误,连一个简单的hello world都会报错,于是我把homebrew里边的软件全部更新了一边之后还是不能用,总算是明白了为啥稳定的服务器是不更新东西的了- - 当时的hello world的错是ostream 和 const char * 阅读全文

posted @ 2016-02-15 22:44 远近闻名的学渣

git的detached HEAD指针
摘要:在使用的git的时候,想回到上个版本,但是由于不熟悉命令用了check out xxxxx,于是在之后的git status的命令之后 都会看见一行字说detached HEAD。看的我非常难受-----踏入git之门第二步的时候到了- - 讲道理的话,正确的退回方式是这样的 git reset < 阅读全文

posted @ 2016-02-08 10:39 远近闻名的学渣

系统级I/O
摘要:在unix系统中,要对一个文件进行操作,步骤为先根据文件名打开文件,得到一个文件描述符(通常为非负整数),然后根据文件描述对文件进行I/O操作,之后关闭文件。文件操作在系统中是这样的,每个进程都有一个打开文件表t1,系统中有两个所有文件共享的表t2,以及v1。 (1)表t1表示一个进程打开的所有文... 阅读全文

posted @ 2015-07-05 18:25 远近闻名的学渣 阅读(212) 评论(0) 推荐(0)

socket编程
摘要:一、socket基础 多数操作平台都提供了一组接口使得程序员可以像使用文件一样读写socket。socket通信的基本过程为: (1)客户端: 申请socket-> connect到服务器(阻塞直到连接成功或者出错) -> 开始读写 -> 读写完毕关闭socket (2)服务器: 申请socke - 阅读全文

posted @ 2015-07-03 01:12 远近闻名的学渣 阅读(287) 评论(0) 推荐(0)

C/C++ 链接与库
摘要:1, 链接 链接是为了支持分离编译,编译器将每个源文件(.c, .cpp ,.h)编译成可重定位的目标文件(.o),然后使用链接器将应该重定向的符号(即定义在其他文件的符号)重定向到正确的地址,并将.o文件合并成一个可执行的目标文件。 链接过程中对于局部变量,以及加了static的全局变量的处理... 阅读全文

posted @ 2015-07-02 12:26 远近闻名的学渣 阅读(184) 评论(0) 推荐(0)

xcode假死问题
摘要:最近由于写的程序过于傻逼各种内存泄漏,各种瞎delete指针导致Xcode一天得死个十来次,有一次死了还活不了了,一打开工程就一直loading,解决办法是把临时的工程文件删了:打开终端:cd /Users/mac/Library/Autosave\ Information/ (其中mac为当前登录... 阅读全文

posted @ 2015-05-02 23:41 远近闻名的学渣 阅读(285) 评论(1) 推荐(0)

gdb的一些操作
摘要:1, 在编译的时候加入-g选项,即调试信息2, gdb -tui -a.out 开始调试,tui可以同时显示代码3,gdb支持tab的指令补全4, stepi,nexti 为单步机器指令,step,next为单步执行5, disas。。。查看汇编代码5, print 查看各种东西6, print x... 阅读全文

posted @ 2015-04-08 21:27 远近闻名的学渣 阅读(143) 评论(0) 推荐(0)

homebrew 常用命令
摘要:转自http://my.oschina.net/gujianhan/blog/203704查看brew的帮助brew –help安装软件brew install git卸载软件brew uninstall git搜索软件brew search git显示已经安装软件列表brew list更新软件,把... 阅读全文

posted @ 2014-11-27 20:25 远近闻名的学渣 阅读(131) 评论(0) 推荐(0)

导航