C语言程序员不会告诉你的14个工具和插件 | 收藏 ...

news/2024/7/5 3:30:54

关注我并收藏这篇文章,可以私信我领取这篇文章内所有的工具和插件!

db0d5a99_667e_453d_b9d1_59a4c3ba92b3

koz.ross 维护的一个 C 语言资源列表,包括了:构建系统、编译器、数据库、加密、初中高的教程/指南、书籍、库等等。

1.构建系统

下面是一些 C 项目的自动化构建和测试工具。

aimake – 一个被设计来避免复杂配置的构建工具。GNU GPL3 或更高版本。

Autoconf – 一个可扩展的 M4 宏指令包,提供命令行脚本来自动配置软件源码包,是 Autotools 的一部分。GNU GPL3 或更高版本。

Automake – 一个自动生成符合 GNU 代码标准的 Makefile.in 文件的工具。需要与 Autoconf 配合使用,它也是 Autotools 的一部分。GNU GPL3 或更高版本。

Jam – 一个构建系统,它被设计的比make更加易用。隐式地理解 C 的构建规则。Jam License。

Libtool – 一个通用库支持脚本,是 Autotools 的一部分。GNU GPL3 或更高版本。

Meson – 一个非常快,用户友好的构建系统,基于 Ninja。Apache2.0.

2.编译器

Clang – 一个基于 LLVM 的 C 的编译器,支持 C11 标准。NCSA.

CompCert – 一个经过充分验证的 C 编译器。支持几乎所有的 C89 标准。GNU GPL2.1或更高版本。

GCC – 在它的编译器集合中提供了 C 编译器。支持 C11 和 OpenMP 的标准。GNU GPL3 或更高版本。

PCC – 一个值得尊敬的 C 编译器,支持 C99 标准。Various licenses,完全免费。

TCC – 一个迷你,速度快的 C 编译器,支持 C99(除了复杂的类型)。 GNU LGPL2.1

3.加密

GnuTLS – 一个安全通信库,实现了 SSL,TLS 和 DTLS。GNU GPL2.1 或更高版本。

libgcrypt – 一个通用的密码库,支持多种加密方法。GNU LGPL2.1(代码),GNU GPL2.1 或更高版本(说明书和工具)。

OpenSSL – 一个 SSL 和 TLS 协议的实现,还包括一个加密库。Dual Licensed under the OpenSSL License and the SSLeay License。

libsodium – 一个现代,易用的加密库。Expat。

libtomcrypt – 一个相当全面,模块化和可移植的工具集。公开领域。

mbed TLS – 一个 C 实现的加密库。Apache2.0。

4.数据库

下面列出了基于 C API 的数据库和数据存储

BerkeleyDB – 一个高性能的嵌入式键值对数据库。GNU AGPLv3。

Hiredis – 一个极简的 Redis 客户端。3-clause BSD。

LMDB – 一个极快,极简的嵌入式键值对数据存储系统。newOpenLDAP。

MariaDB – 一个强壮,可扩展和可靠的 SQL 服务器,设计来作为 MySQL 的替代品。3-clause BSD。

mongo-c-driver – 一个高性能的 MongoDB 客户端。Apache2.0.

PostgreSQL – 一个强大的对象关系数据库系统。PostgreSQL licence。

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频

recutils – 一个工具和 C 库的集合,用于访问可编辑,纯文本的名为 recfiles 的数据库文件。GNU GPL3 或更高版本。

Redis – 一个先进的键值对存储系统。3-clause BSD。

sophia – 一个现代,可嵌入的键值对数据库。FreeBSD。

SQLite – 一个自包含,无服务器,零配置,支持事务的 SQL 数据库引擎,包括 C 接口。公开领域。

UnQLite – 一个自包含,无服务器,零配置,支持事务的 NoSQL 数据库引擎,包括 C 接口。FreeBSD。

5.文档生成

Cxref – 生成 C 程序的文档,支持 LaTeX,HTML, RTF 或者 SGML 的格式。GNU GPL2.1

DocOnce – 一种朴素的标签标记语言,可以用来生成多种格式的文档。3-clause BSD.

Doxygen – 一个事实上的标准工具,用于从注释的代码中生成 C 文档。能够生成多种格式的文档。GNU GPL2.1。

GTK-Doc – 一个从注释的代码中生成 C 文档的工具,支持 Autotools GNU GPL2.1(代码), GNU FDL1.1。

6.编辑器

这些是特别精致,IDE 类型的编辑器。如果你想要一个程序员的文本编辑器,看别的地方。此外,不管你选择哪一款编辑器,它都支持 C。

Anjuta DevStudio – GNOME IDE。 GNU GPL2.1。

Code::Blocks – 一个可扩展,可配置的 IDE,支持 C。GNU GPL3。

CodeLite – 一个跨平台的 IDE。 GNU GPL2.1。

Eclipse – 一个用java写成的 IDE。 EPL。

Geany – 一个很小很快的 IDE。 GNU GPL2.1及更高版本。

KDevelop – KDE IDE. GNU GPL2.1。

7.环境

下面列出了被设计来引领 Windows 进入支持 C 的 21 世纪的技术。

Cygwin – 被设计用于在 Windows 下模拟 POSIX 兼容环境。Various licenses, all free。

MinGW-w64 – 一个 Windows 下极简的 C 开发环境,支持 64 位。Various licenses, all free。

8.框架

这一节包括提供数据结构的大型库和你所期待“现代”的标准库。

APR – Apache Portable Runtime;另一个跨平台的实用函数库。Apache2.0。

C Algorithms – 一个常用算法和数据结构的集合。

CPL – The Common Pipeline Library;一系列详尽,高效和强壮的软件工具包。GNU GPL2.1。

EFL – 一个大型实用数据结构和函数的的集合。多种许可证,完全免费。

GLib – 一个便携,高效和强大的实用函数和数据结构库。GNU LGPL2.1。

GIO – 一个现代和易用的 VFS API。[GNU LGPL2.1]。

GObject – 一个 C 的面向对象系统和对象模型。GNU LGPL2.1。

libnih – 一个轻量级的 C 函数和数据结构库。GNU GPL2.1。

libU – 一个提供基本实用函数的迷你库,包括内存分配,字符串处理和日志功能。

PBL – 一个包括实用函数,特色数据结构等的大型库。GNU LGPL2.1及更高版本(库),GNU GPL2.1及更高版本(测试代码)。

qlibc – 一个简单且强大的 C 库,当我们想要小且轻的库时,可作为 Glib 的替代品。qLib license (类似于 FreeBSD).

stb – 一系列单文件 C 库。公共领域。

游戏编程:

9.引擎

这些作为 C 游戏编程代码的例子。

Corange – 一个纯 C 的游戏引擎。FreeBSD。

Darkplaces – 一个 Quake2 引擎的修改版本。GNU GPL2.1。

ioquake3 – Quake3 引擎,终于免费啦。GNU GPL2.1。

Orx – 一个便携,轻量级,插件化,数据驱动,面向 2D 的游戏引擎。zlib。

Quake2 – Quake2 引擎。GNU GPL2.1。

Spearmint – 一个为 FPS 游戏设计的引擎。GNU GPL3及更高版本。

10.资源

这些是排序过的对游戏编程有用的库。

Allegro – 一个跨平台,视频游戏开发和多媒体库。zlib。

Chipmunk2D – 一个快且轻量级的 2D 游戏物理库。Expat。

CSFML – 一个用 C 封装的 SFML。zlib。

FreeGLUT – 一个替代性的 OpenGL 实用工具包。允许用 OpenGL 上下文创建和管理窗口。X11。

GLFW – 一个使用 OpenGL 上下文创建窗口的多平台库。zlib。

libao – 一个有多种输出的跨平台音频库。GNU GPL2.1及更高版本。

RetroArch – libretro 的参考前端。GNU GPL3。

SDL – 一个跨平台库,通过 OpenGL 提供音频,键盘,鼠标,操纵杆和图形硬件的底层访问。zlib。

SDL2– 一个跨平台库,通过 OpenGL 提供音频,键盘,鼠标,操纵杆和图形硬件的底层访问。这是最新版本。zlib。

11.通用编程

klib – 小且轻量级的常用算法和数据结构实现。Expat。

12.图像

Cairo – 一个 2D 图像库。GNU LGPL2.1 或者 MPLv1.1。

Cogl – 一个 GPU 图像和实用 API。Expat(依赖使用 3-clause BSD 许可,库使用 LGPLv2.1 许可)。

Clutter – 一个基于 OpenGL 的 UI 库。GNU LGPL2.1。

heman – 一个迷你图像实用工具库,处理高度图,法线图,距离场等。Expat。

libcaca – 一个基于终端接口的 ASCII 渲染器。WTFPLv2。

libimagequant – 小且轻量级的库,用于高质量的从 RGBA 图像到 8 位像素图的转换。FreeBSD。

libjpeg-turbo – 一个更快的读写 JPEG 文件库。Various licences。

libpng – 官方 PNG 参考库。libpng license。

libxmi – 一个光栅化 2D 位图的函数库。GNU GPL3 或更高版本。

mozjpeg – 一个提升 JPEG 图像质量的编码器。3-clause BSD。

OpenGL – 一个高性能图像的工业标准,提供了原生 C语言 绑定。Various licenses。

13.图像用户接口

这些具体来说就是控件工具包

GTK+ – 一个跨平台的控件工具包。GNU LGPL2.1。

IUP – 另一个跨平台的控件工具包。Expat。

Tk – 一个基本控件工具包,Tcl/Tk 的一部分。Tcl/Tk License。

XForms Toolkit – 一个为 XWindow 设计的控件工具包。GNU LGPL2.1。

14.JSON

Jansson – 一个编码,解码和处理 JSON 的 C 库。Expat。

jsmn – 一个极简的 JSON 解析器。Expat。

json-c – 一个处理 JSON 的库。Expat。

WJElement – 高级 JSON 处理库,支持 JSON Schema。任意版本的 LGPL。

YAJL – 一个很快的 JSON 流解析 C 库。ISC。

.

.

.

如有侵权,请联系删除


http://www.niftyadmin.cn/n/3369336.html

相关文章

初学者第04节之数据类型(上)

1.Java是一种强类型语言,每个变量都必须声明其类型。 Java的数据类型分为两大类:基本类型(primitive type)和引用类型 (reference type) Java中定义了3类8种基本数据类型,今天主要讲讲基本数据类型。如…

require.context() 用于获取一个特定上下文的,webpack的一个api

参考链接: 1、https://www.jianshu.com/p/c894ea00dfec 2、https://www.jianshu.com/p/c894ea00dfec require.context() 1、可以使用require.context()函数创建自己的上下文。它允许您传入一个,目录进行搜索,一个标志指示是否应该搜索子目录&…

修改文件默认代码方式

转载于:https://www.cnblogs.com/minconding/p/10440676.html

Vue中如何在线预览pdf文件

某次项目的需求中要实现pdf文件的在线预览,百度了很多个实现pdf在线预览的功能,感觉看起来都是比较费劲,可能自己比较菜吧,但是总结了一下可以实现这种结果的是pdf.js 可以去pdf.js的官网下载文件: mozilla.github.io/…

外部排序——大文件排序

外部排序 外部排序指的是大文件排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的。 一般来说外排序分为两个步骤:预处理和…

IList, ICollection ,IEnumerable AND IEnumerator in C#

IList, ICollection ,IEnumerable 很显然,这些都是集合接口的定义,先看看定义: 1 // 摘要:2 // 表示可按照索引单独访问的对象的非泛型集合。3 [ComVisible(true)]4 public interface IList : ICollection, IEnumerable5 …

Java中的回溯算法

回溯算法 定义: 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜素尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索&a…

Windows程式开发设计指南(二十)多工和多执行绪

20. 多工和多执行绪 多工是一个作业系统可以同时执行多个程式的能力。基本上,作业系统使用一个硬体时钟为同时执行的每个程序配置「时间片段」。如果时间片段够小,并且机器也没有由於太多的程式而超出负荷时,那么在使用者看来,所有的这些程式似乎在同时执行著。 多工并不是…