先建立目录,在项目的根目录下再建两个目录分别用来存放我们的头文件和源码目录。然后让我们先尝试造个简单的轮子吧——栈。 // gttypes.h// Created by Rowland@Sjet on 2018/1/28.//#ifndef GTLIB_GTTYPES_H#define GTLIB_GTTYPES_H#ifdef __cplusplusextern"C"{#endif#define GT_API extern#define GT...
快速学习C语言四: 造轮子,ArrayList 高级语言里的列表是最常用的数据结构,在C里造个轮子玩玩,C没有泛型,先用int练习。 Collection的ADT一般有hasnext,next,add, remove操作,List一般还加了removeat, insert等,然后Stack有push和pop,Queue有enqueue和dequeue。列表有种实现, ArrayList和LinkedList,总体来说ArrayList更常...
是的,单纯就调用这个动作来说,没有问题,问题出在调用方拿到源码要怎么知道,哦,卧槽,我首先要编译出so库文件然后再把so扔到/usr/lib里面再把.h文件扔到/usr/include里呀。这种库也太没有“服务意识”了吧,我常说,我们造轮子的一定要有服务意识,这么搞调用方还要对着你长长的编译文档来step by step。会吐的。
cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。 项目主页:http://sourceforge.net/projects/cjson/ - 4. CMockery cmockery是google发布的用于C单元测试的一个轻量级的框架。它...
重复造轮子系列--内存池(C语言) 这个代码是我上个公司工作项目的里面内存管理(基于伙伴算法)的一个简化又简化的版本。 因为没有内存边界检查; 因为没有内存使用统计; 因为没有考虑线程安全; 因为没有内存分配操作的具体文件位置信息; 因为没有考虑内存的浪费;...
简介:【C/C++ 造轮子】Linux异步计时器:深入探讨和应用 (Linux Asynchronous Timers: An In-depth Exploration and Application) 1. 引言 (Introduction) 在我们的日常生活中,时间是无处不在的。无论是烹饪、锻炼、还是编程,计时都是一个关键的元素。特别是在计算机领域,异步计时为我们提供了一种方法,使得在等待某...
我们先说一个概念,就是库(Library)。库就是编程专家写好的代码,我们可以拿来直接使用,这样能够节省开发成本,提高开发效率,并且库代码的执行效率、严谨性、安全性和规范性要明显优于我们自己编写的代码,市场上有很多优秀的库,有的收费,有的免费,我们要善于利用这些库,尽量不要重复造轮子。库一般分为两种:...
我们先说一个概念,就是库(Library)。库就是编程专家写好的代码,我们可以拿来直接使用,这样能够节省开发成本,提高开发效率,并且库代码的执行效率、严谨性、安全性和规范性要明显优于我们自己编写的代码,市场上有很多优秀的库,有的收费,有的免费,我们要善于利用这些库,尽量不要重复造轮子。
C语言和C++,尤其C++,语言粒度细、机制多,性能虽然高,但语言本身的包袱也确实重,我们更愿意称它“造轮子”的语言!也正是因为C语言和C++性能好、粒度细,所以什么都能做。而Java本身就是一种服务于互联网软件开发(后端开发+客户端开发)的语言,它有一个明显的“生态圈”的概念,所以应用领域非常清晰。我个人觉得C...
熟悉C语言的程序员们更喜欢称C为“造轮子”的语言,因为它什么都能做。游戏公司后台开发、通信公司后台开发、服务端底层应用优化、后台系统驱动和内核……在程序员眼里,C语言几乎是无所不能的。 当然,很多人会觉得C语言入门难,不能像其他编程语言一样快速获得成就感。但...