
TBOX: A Multi-Platform C Library - TongKuo
https://github.com/waruqi/tbox.git
======
eps
Looks like a comprehensive and mature personal toolbox, which one would
accumulate over years of working on C projects. Not exactly easy to reuse due
to the lack of documentation and other reasons, but totally worthy of sharing
nonetheless. A very interesting read.

~~~
ljbha007
It's actually well documented, it's just that it's in Chinese

------
dingdingdang
Nice straight forwardness in this lib - love the async stuff for url
downloads/access.. its modern.. its C.. its confusingly normal!

~~~
yoklov
Thought so too, but then I took a look at the code.

~~~
eatonphil
Anything in particular you could point out?

~~~
to3m
It looked pretty clean to me as well.

Strange that they don't use trailing commas in aggregate initializers though.

------
mingodad
I just cloned the repository build it and did some tests with asio_httpd (and
found a possible memory leak/fragmentation), overall it's well designed and
coded. To build it I went to the xmake repository and through it also found
this small and performant network library
[https://github.com/caikelun/libsvx](https://github.com/caikelun/libsvx) .

Thank you for release this nice and util library !

------
wyldfire
It's great that someone took the time to curate the list. But maybe it'd be
better as one of those awesome-X style list of actual repos. With all of these
libraries distributed as a mega-lib, it just seems like a bit of a junk
drawer.

------
Wenris
It's a little boring to see 'tb_*' wrappers such as 'tb_void_t', why not the
standard way? Also I don't like xmake compares to premake.

------
ausjke
looks interesting. what's the difference between this with glibc/musl/etc.

~~~
yoklov
Well, it's not a libc (although it seems to contain one).

~~~
ori_b
Well, it seems to wrap one, prefixing the functions with 'tb_'.

~~~
waruqi
Only wrap the functions for libm now, but most of libc functions have been
implemented.

And will call them if some libc functions are not supported in the current
toolchain.

------
onetwotree
I haven't taken much time to read the source, but it might be a good idea to
break some pieces off into their own repos, perhaps with a required
'tbox_core' type lib.

Otherwise it's...eminently useful, and boring in a good way.

------
zik
The library looks neat but I'm horrified that he says "optimizates"...
repeatedly. That is not a word. The word is "optimizes". The English pedant in
me is having trouble getting past that.

~~~
waruqi
Sorry, my English is poor, I will try to fix some grammar errors

~~~
zik
No problem. Sorry, I didn't realise English was your second language. Nice
work on the library.

------
qwertyuiop924
This wins the "Fucking Sweet" award for being hypothetically useful. In
reality... not so much.

~~~
PeCaN
On the contrary, my opinion of it is very boring but very useful.

It's the sort of thing one inevitably ends up with after enough C development,
but this looks much more complete than average.

~~~
qwertyuiop924
It's not all that well documented, from what I saw.

------
giancarlostoro
I appreciate the licenses folder but could you add that information to the
readme as well? It's useful sometimes to gather all the information I need
about a project in the "readme" at least for me, just the names of the
licenses and the files they affect could work if it's not too much trouble,
but even just naming the licenses works. Thank you! :)

------
tosseraccount
Needs GUI support and statistics support.

Another rewrite of malloc() and string utils is not that useful.

