我知道,Boost库通常打算用于C ++项目中那里很有用。 BOOST.IO将此模块列为C++98
,但是我可以与任何C99编译器一起编译并使用它[见下文]。如果不使用
//
注释,甚至可以使用ANSIC89对其进行编译。
我的问题是:还有其他升级库可以在c中使用,就像boost.predef?? (通过类似于boost.predef,我的意思是仅是c-prepropersorsor或不需要任何C ++功能来编译或允许在不编译C ++源的C中使用该模块的一部分)
# proof that boost.predef compiles and works with C
$ git clone https://github.com/boostorg/predef.git
$ echo '#include "boost/predef.h"' > main.c
$ echo 'int main(void) {return 0;}' >> main.c
$ cc -x c -std=c99 -Wpedantic -Werror -I./predef/include main.c
$ cc --version
cc (GCC) 14.2.1 2024091
$ cc -x c -std=c99 -Wpedantic -Werror -I./predef/include -dM -E main.c | grep BOOST
# this would show every available macro
对C ++很好,没有人真正在乎或可以说是有效。 C,但是用于重要的事情,而Boost在那里没有位置。