因为工作中需要写跨平台的代码,所以把一些常用的小工具整合成了一个单头文件( single-header )库x.h,希望各位佬不吝赐教,一起交流。这个库还在不断加入新函数或是重构。
以下是我自己想的一些 FAQ:
Q:为什么用 C 而不是用 C++?
A:需要和其他语言(如 Python )接起来时,C 接口比较方便。另外最初版本是 C++写的,换成 C 就是想玩玩。
Q:为什么不用 C11 ?
A:因为 Visual Studio 要 2022 版才支持 thread 、atomic 等 C11 特性,我希望 x.h 尽可能兼容更多的编译器。
Q:跨什么平台?
A:目前只有 Linux 和 Windows 是测试过的,我希望能够兼容 macOS 、iOS 、Android 等,但是目前没有相关环境来测试。代码默认除了 Win32 就是 POSIX ,且尽可能用标准 C 中的接口。如果有其他平台的开发者希望合作开发或帮助测试,非常欢迎。
Q:x.h的目的?
A:提供跨平台的小工具,以及对一些平台特定接口的跨平台统一化,例如:
1
hsfzxjy 2023-02-28 17:33:42 +08:00 via Android 1
有 github 吗
|
2
HiCode 2023-02-28 17:33:54 +08:00
|
5
proxytoworld 2023-02-28 18:28:56 +08:00
能介绍一下干嘛的吗,一下没看出来
|
6
favourstreet 2023-02-28 18:38:46 +08:00 via Android
眨眼间已经到了需要单独解释为什么用 c 写程序的时代了
|
7
learningman 2023-02-28 19:31:17 +08:00
有个叫 melon 的库也是干这事儿的
|
8
Neur2n OP @learningman 比不上 melon😂 我这只是把多个平台的功能封装成跨平台接口
|
9
adoyle 2023-02-28 21:08:48 +08:00
跨平台的底层语言,不如试试 Zig ,无缝衔接 C/C++。
https://ziglang.org/ |
10
rockcat 2023-02-28 22:52:43 +08:00
反正是不想碰 C++的,太复杂了,而且乱七八糟...很难找到头绪
|
11
zeromake 2023-03-01 09:27:44 +08:00 via Android
@adoyle 被 c/c++的字符串整吐了,完全不想用没有标准库封装的字符串的语言……(zig 已经明确说了不会有 string 容器)
|
12
Neur2n OP @proxytoworld 提供一些小工具(获取文件大小、获取时间戳、日志打印等)、提供不同平台的统一接口(如 Windows 的线程和 Linux 的 pthread ),总的来说目标是所有工具都可以跨平台、跨编译器使用
|
13
junmoxiao 2023-03-01 17:14:14 +08:00
做大了就是个 tbox
|