C语言__attribute__的使用

转载自:http://www.cnblogs.com/astwish/p/3460618.html __ATTRIBUTE__ 你知多少? GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )...

2017-08-24 16:39:31

阅读数 3647

评论数 0

每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)

转载自:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了...

2017-08-09 17:41:48

阅读数 166

评论数 0

二叉树的遍历(C++、STL)

之前没有使用C++的STL,写二叉树的遍历的时候基本都是选择用递归来实现,了解了C++标准模板库中的stack和queue后,发现遍历二叉树更加简单了,下面给出实例代码,通过实际验证发现这种方法很简洁,很方便 #include #include #include #include usi...

2017-07-23 17:49:46

阅读数 772

评论数 0

进程间通信—local socket

转载自:http://blog.csdn.net/shanzhizi/article/details/16882087 先上一个代码 服务端: [cpp] view plain copy //s_unix.c   #include    #include    #in...

2017-07-23 14:41:58

阅读数 459

评论数 0

网络IO之阻塞、非阻塞、同步、异步

转载自:http://www.cnblogs.com/Anker/p/3254269.html 网络IO之阻塞、非阻塞、同步、异步总结 1、前言   在网络编程中,阻塞、非阻塞、同步、异步经常被提到。unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲...

2017-07-23 12:29:24

阅读数 262

评论数 0

malloc函数详解

在逛知乎过程中,偶然发现一个问题:malloc(0)从堆空间申请0个字节,咋办?是报错,还是返回正确地址?申请的空间又有和意义?内存碎片又是什么?带着这一系列问题,我到网上找到了一篇不错的博客,对其解释比较恰当。不过首先列出我自己实测的代码情况: #include #include int ...

2017-07-21 18:12:49

阅读数 152

评论数 0

进程间通信,信号量

信号量是干啥的?    信号量就是用来解决进程间的同步与互斥问题的一种进程间通信机制。 同步与互斥的通俗理解    这两个名词咱们从字面上就能理解。举个例子吧,在创建子进程时,你是怎么保证父子进程执行的先后顺序呢?我在以前的时候是通过sleep()函数来实现的,比如我想让子进程先运行再让父进...

2017-07-19 21:07:29

阅读数 131

评论数 0

exec函数

(1)exec函数说明 fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调...

2017-07-19 11:16:04

阅读数 190

评论数 0

C++中的单例模式和工厂模式

最近在学C++过程中,被两个新名词单例模式和工厂模式搞晕了,到网上找了这两篇博客,本人觉得写得很清晰,有条理,分享下 单例模式:http://www.jellythink.com/archives/82 工厂模式:http://www.jellythink.com/archives/62

2017-07-17 23:37:30

阅读数 1101

评论数 0

如何判断单链表里是否有环以及查找环的入口

先说明一下单链表里有环的示意图:   即链表的尾结点指向链表中的某一个结点(结点6的next指向结点3) 判断单链表是否有环:快慢指针 定义两个指针slow, fast。slow指针一次走1个结点,fast指针一次走2个结点。如果链表中有环,那么慢指针一定会再某一个时刻追上快指针(...

2017-07-16 15:18:52

阅读数 589

评论数 0

C语言的条件编译

转载自:http://hi.baidu.com/xiaomambzh/item/272663c2476ca1b10c0a7b2d C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef 有些程序在调试、兼容性、平台移植...

2017-07-16 14:00:55

阅读数 343

评论数 0

C语言位域的定义和使用

位域的定义和使用 C Bit Fields 转自http://www.360doc.com/content/09/0318/16/113975_2846158.shtml 位域的定义和使用    有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制...

2017-07-16 13:48:38

阅读数 976

评论数 0

C语言操作界面菜单思考

C语言中,制作菜单操作界面是很常见的,一般都是通过scanf("%d",&i) 与switch(i)搭配来使用,这种方法很基础,我近来发现另外一种比较不错的方法,容错处理也有,可拓展性也高:#define BUFFERSIZE 256 enum login_regist...

2017-06-25 23:51:07

阅读数 7914

评论数 0

Python闭包、函数式编程、装饰器深入理解

我在近段时间学习python过程中,遇到几个模糊不清的问题,特别难以理解,可能是对面向过程(C语言)用的比较多,而对面向对象编程的思想理解的不是很深刻,推荐这两篇博客,对新手比较友好,容易接受博客一:点击打开链接、博客二:点击打开链接

2017-06-14 00:23:43

阅读数 120

评论数 0

C语言可变参数函数实现

转载自C语言中文网,链接如下:点击打开链接 补充一点,在函数原型int printf(const char *format,...)中,固定参数不一定只有一个,有可能有多个,不管有多少个,va_start中一定是最后一个固定的参数,后续可变参数就用va_arg来接收,va_end来结束。

2017-05-31 13:44:37

阅读数 247

评论数 0

C语言实现链表(三)

如下是实现双向链表的源代码,主要包括:创建链表、插入结点(头插法、尾插法)、遍历链表、删除结点、排序(插入、快速)、主函数(验证函数功能),源代码如下: #include #include #include #include #include //不带头结点的双向链表的操作 //本结构...

2017-05-23 17:18:59

阅读数 207

评论数 0

C语言实现链表(二)

如下是单向链表的具体实现,主要包括:创建链表、增加结点(头插法,尾插法)、遍历结点、删除结点、排序(插入排序、选择排序、冒泡排序),最后是主函数的验证。 在此先说下我的插入排序(交换指针)的思路:如图 首先新建一个新头结点newHead,将原链表中从第二个有效结点开始之后所有的结点都链接到ne...

2017-05-23 17:02:13

阅读数 167

评论数 0

C语言实现链表(一)

近段时间,在学习数据结构的过程中,发现链表的知识点比较难,并且又是十分重要的,在次,将这一周左右的学习总结写成这篇博客。 链表具体分类来说的话可以分为4大类:单向链表,双向链表,双向循环链表,十字交叉链表,分类根据不同规则可能不同,但是这不是重点,真正的重点是理解不同链表的简单实现方式,通过其实...

2017-05-23 16:17:27

阅读数 167

评论数 0

C和C++预处理

主要总结几点容易出错的: 1. #define ADD(a,b)  a+b  此处就很容易在后续引用中出现错误,例如:ADD(3,4)*ADD(5,6)  等价于 3+4*5+6,宏定义只是简单的替换,所以此处很明显不符合要求,正确宏定义为 #define ADD(a,b) ((a)+(b)) ...

2017-05-17 09:19:51

阅读数 140

评论数 0

生活是如此的"fuck"

在终端操作过程中,是不是总有命令敲错的时候,如果你看到这篇文章,那么这种问题将会终结,详情见下面链接:装载自:点击打开链接。 本人用的是ubuntu16.04,在上述链接配置中,有些文件可能不匹配,在此将本人的操作总结如下:(1)按照python,一般linux都会安装了Python,如果没有安...

2017-05-15 17:29:04

阅读数 197

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭