C 语言 进阶
Posted kirito-c
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言 进阶相关的知识,希望对你有一定的参考价值。
前言
最近经常被询问 C 语言 相关的问题,突然便也觉得需要思考一下 C 语言的进阶了。
我用 C 语言写过的最大的一个项目,也只是那个贪吃蛇,后来就断断续续地用 Python、Java、Matlab 去了。以至于我到现在都完全不知道如何编写分层次的、多文件的 C 项目;看 JVM/CPython 的源代码时看到一堆的宏,也只会不知所措。
我想我应该找时间提高一下。因为主要用途还是看源码、编写模块给 python-cffi 或其他语言调用、开发 Linux 小工具之类的,因此我应该以熟悉语言核心和知名的开源库为主。
基础
- 语法:C Primer Plus
- 调试:gdb、汇编
- 编译:make、cmake
- 依赖:依赖?还是可执行文件?(动态链接与静态链接)
开源库
日志
- zlog:日志
测试
- Criterion:21世纪的 C语言 跨平台测试框架
字符串处理
数据结构与算法
C 标准库既没有 C++ 的 STL,也没 Java 的 Collections。每次都要自己造轮子也太辛苦了点。。所以有的话当然要用别人的轮子了。
- Collections-C:提供了常用数据结构的实现,API 超简洁,注释很详细。源码抽空要仔细读一遍。
数据保存
图形库
初学编程时,总免不了想搞个图形界面。
- cairo:2D 图形库
- LCUI:一个使用 xml+css 写 UI 的 C UI库,适合写简单的跨平台应用。
- Learning OpenGL:这俩你都不想用?那直接 OpenGL 搞起吧。
更多
以上是关于C 语言 进阶的主要内容,如果未能解决你的问题,请参考以下文章