
linux
suyinfan
虽然技术还很差,但始终怀揣着梦想
展开
-
指针常量和指向常量的指针
const; 指针原创 2016-05-12 14:20:20 · 325 阅读 · 0 评论 -
环形无锁队列
先贴代码,后面再分析#include <iostream>#include <pthread.h&amp原创 2018-05-11 01:26:06 · 4634 阅读 · 3 评论 -
两个线程轮流对一个全局变量执行加1操作并且打印
两个线程轮流对一个全局变量执行加1操作并且打印最近在看多线程编程,想起以前有个电话面试出的题目,今天就写了下,主要是利用互斥变量和条件变量,主线程先执行,然后通知子线程执行,轮流执行++操作,并且打印,代码如下:#include <stdio.h>#include <stdlib.h>#include <pthread.h>using nam...原创 2018-04-30 23:12:01 · 4573 阅读 · 0 评论 -
浅析C语言的非局部跳转:setjmp和longjmp
转自:http://www.cnblogs.com/lienhua34/archive/2012/04/22/2464859.htmlC语言中有一个goto语句,其可以结合标号实现函数内部的任意跳转(通常情况下,很多人都建议不要使用goto语句,因为采用goto语句后,代码维护工作量加大)。另外,C语言标准中还提供一种非局部跳转“no-local goto”,其通过标准库C标准库 < setjmp.转载 2017-09-02 16:32:43 · 293 阅读 · 0 评论 -
linux网络编程中INADDR_ANY的含义
转自:http://blog.youkuaiyun.com/scottly1/article/details/24416007INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。也就是表示本机的所有IP,因为有转载 2017-08-24 10:03:20 · 305 阅读 · 0 评论 -
使用Ctags进行代码阅读
下载和安装方法我这里使用的源码下载,下载地址如下http://ctags.sourceforge.net/安装步骤如下: 1)然后进入源代码根目录执行./configure, 2)然后执行make, 3)编译成功后执行make install。常用命令列表: 命令 意思 ctags –R * ($ 为Linux系统Shell提示符) $ vi –原创 2017-09-05 20:21:11 · 464 阅读 · 0 评论 -
error while loading shared libraries: xxx.so.x" 报错与解决
error while loading shared libraries: libevent_pthreads-2.0.so.5: cannot open shared object file: No such file or directory今天在执行一代码时,出现了该错误代码如下#include#include#include#include#include原创 2017-02-13 17:52:02 · 456 阅读 · 0 评论 -
条件变量虚假唤醒
Linux中帮助中提到的:在多核处理器下,pthread_cond_signal可能会激活多于一个线程(阻塞在条件变量上的线程)。 On a multi-processor, it may be impossible for an implementation of pthread_cond_signal() to avoid the unblocking of more than one t原创 2017-08-19 12:02:26 · 621 阅读 · 0 评论 -
linux下使用udpsocket时遇到的问题
linux下udpsocket的使用关于数据报socket的使用,很多博客都有,由于事先已知了客户端的ip字串,不想服务端使用通过recvfrom时保存下来的struct sockaddr_in*类型ip,想通过之前ip字串来让服务器给客户端发送数据,发现出现了,仔细研究后发现是发送数据给客户端时,使用了之前的服务器绑定的端口,这是不对的,客户端的端口是系统随机分配的,必须要使用之前获取客户端原创 2017-08-17 23:41:42 · 1286 阅读 · 0 评论 -
安装protobuf时遇到的部分问题
安装protobuf时遇到的部分问题 由于demo的缘故,需要学习protobuf,关于protobuf的概念,就不多描述了,之后会重点介绍,本节主要是在安装protobuf时遇到的一些问题的总结与解决的手段,以便之后的温习。根据http://doc.oschina.net/grpc?t=58008中的介绍,首先下载源码:git clone https://github.com/pa原创 2017-07-09 14:58:32 · 8847 阅读 · 4 评论 -
强大的vim配置,让编程更随意
转自:http://blog.youkuaiyun.com/chary8088/article/details/7715383/花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、Java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:转载 2017-07-16 20:46:19 · 331 阅读 · 0 评论 -
大小端以及主字节序和网络字节序问题
大小端问题与主字节序及网络字节序(一般在x86和arm下为小端模式):(1) 大端模式:高位存在低地址,低位存在高地址(2) 小端模式:高位存在高地址,低位存在低地址例如:0x0000 0X120x0001 0X340x0002 0Xab0x0003 0xcd大端模式读取为:1234abcd;小端模式读取数据为:cdab3412.原创 2016-05-07 08:09:10 · 1709 阅读 · 0 评论 -
IO多路复用之select函数详解
select优点1)select()的可移植性更好,在某些Unix系统上不支持poll() 2)select() 对于超时值提供了更好的精度:微秒,而poll是毫秒。select缺点 1) 单个进程可监视的fd数量被限制。 2) 每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大 同时每次调用select都需要在内核遍历传递进来的所有fd,...原创 2018-05-04 22:57:54 · 735 阅读 · 0 评论