- 主题:C头文件和库搜索疑惑
请教大拿们问题,如何保证我的程序找到合适的库?
C不像其他语言跨平台,搜到一个lib就行了。有的lib不在其他平台提供,比如posix,ansi等等。
是不是posix头文件任何一个平台都支持,直接用就成?但是他的头文件也只有那几十个。
想找高级封装一点的库,我应该去哪里寻找最快?C没有一个搜索的中心地方,而且对于各个平台还要各自适配,写一堆ifdefine吗?
- 来自「最水木 for iPhone 11」
--
FROM 120.85.124.*
如果只是在 win 和 linux 下,那么 cygwin 就够了。
【 在 xiaguagua 的大作中提到: 】
: 请教大拿们问题,如何保证我的程序找到合适的库?
: C不像其他语言跨平台,搜到一个lib就行了。有的lib不在其他平台提供,比如posix,ansi等等。
: 是不是posix头文件任何一个平台都支持,直接用就成?但是他的头文件也只有那几十个。
: ...................
--
FROM 120.244.156.*
这个似乎就是conan要做的事情
原则上可以匹配到合适合适的
--
FROM 111.197.21.*
posix也不是所有都支持啊,windows就不行,尽管windows实现了少量posix功能,但还有大量不支持的,比如posix regexp。
跨平台的c库很多,不过有哪些可用c库以及哪些能跨平台总体来说还是比较乱,毕竟早年开源库就不是主流,开源库的来源也不一样,编译环境差异大,c库场景也复杂。近年才有统合的趋势,开源库代码趋向于在github上,也开始有了各种跨平台工具链如cmake和包管理器如canon。
习惯上linux下经常还是系统包管理器的多,也比较方便,可以装库也可以装软件。比如debian系的用apt管理库,装openssl库就用apt install libssl-dev。搜索也用这个。
mac 下面的类似包管理器是 homebrew。
windows 如果用原生的 vc 编译器,包管理器是微软的 vcpkg,专门管理库。喜欢linux风格的话推荐 msys2 环境,包管理器是 pacman;或者兼容 posix 但效率更低的 cygwin,也有自己的图形界面包管理器。与其他包管理器不一样的是 vcpkg 不管理二进制代码,只是下载源代码在本地编译。
跨平台的包管理器是 canon,不过我感觉不是主流。另外 vcpkg 现在也跨平台了,在非 windows 系统是配合 vscode 用的。
【 在 xiaguagua 的大作中提到: 】
: 请教大拿们问题,如何保证我的程序找到合适的库?
: C不像其他语言跨平台,搜到一个lib就行了。有的lib不在其他平台提供,比如posix,ansi等等。
: 是不是posix头文件任何一个平台都支持,直接用就成?但是他的头文件也只有那几十个。
: ...................
--
FROM 114.249.193.*
不如具体点,你要找啥库
--
FROM 114.245.195.*
自己写一个跨平台的lib,在lib里封装posix或者自己实现
【 在 xiaguagua (xiaguagua) 的大作中提到: 】
: 请教大拿们问题,如何保证我的程序找到合适的库?
: C不像其他语言跨平台,搜到一个lib就行了。有的lib不在其他平台提供,比如posix,ansi等等。
: 是不是posix头文件任何一个平台都支持,直接用就成?但是他的头文件也只有那几十个。
: ...................
--
FROM 116.9.150.208