开源项目: 造一系列常用的Linux应用API轮子

简介: 开源项目: 造一系列常用的Linux应用API轮子

这个项目其实在很早之前就开始了,最初的目的是为它(Future3D)而准备的,因此最近一段时间利用晚上下班的时间以及周末的时间在完成,故很少更文。

640.png

这套接口的实现愿景是为了能够更快的搭建一套基于Posix接口的通用物联网3D打印框架而服务的,而这套框架将无差别的兼容全平台,无论是Linux、Win32还是Mcu等等,它都能够顺利运行;因此,我们需要去实现一些通用的轮子,例如文件IO、线程、定时器、消息队列、互斥锁、网络操作等等接口。因此在最初的选择是先基于Linux应用开发,先将常用的、通用的接口进行封装和实现,然后再开始设计业务逻辑和时序,最后调试整个系统。而相对于其它的平台移植起来就容易多了,我们只需要替换掉封装接口以下的Posix API,便能够实现无差别兼容。前这套Linux应用API轮子分为21个大类,后续还会根据需求继续增加,开源项目地址:

https://github.com/Yangyuanxin/Linux_APUE
https://gitee.com/morixinguan/Linux_APUE

640.png

项目是基于CMake构建,整体的统一编码风格是基于大驼峰。另外,每个小类中的实现都会有一个Test函数,例如目录操作的test函数:

#ifdef TEST_OPEN
Void CallBack(S8 *Name)
{
    printf("Name: %s\n", Name);
}
S32 DirOperateTest(Void)
{
    S32 Counter = 0;
    //扫描当前目录下的所有文件并通过CallBack将目录下的所有文件
    //打印出来
    Counter = ScanListFiles(".", Null, CallBack);
    if(Counter < 0)
    {
        printf("ScanListFiles fail!\n");
        return -1;
    }
    printf("Have't Suffix Counter = %d\n", Counter);
    //扫描当前目录下所有的.txt文件并通过CallBack将目录下的所有.txt文件打印出来
    Counter = ScanListFiles(".", ".txt", CallBack);
    if(Counter < 0)
    {
        printf("ScanListFiles fail!\n");
        return -1;
    }
    printf("Have Suffix Counter = %d\n", Counter);
    printf("DirOperate Test Success!\n");
    return 0;
}
#endif

它是用于告诉用户这些接口应该如何去使用以及针对接口的简单测试用例项目的主入口是main.c,main.c会去调用各个子类下的Test接口函数。

项目构建方法

640.png

最终会在这个目录下生产a.out可执行程序:

640.png

如果需要将其移植到ARM Linux平台上运行,只需要修改CMakeList.txt文件即可,如下所示:

#配置交叉编译器,如果默认以GCC编译,则注释
SET(CMAKE_C_COMPILER   /home/book/workspace/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER /home/book/workspace/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++)

添加对应的交叉编译器即可。

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

往期精彩

Linux Posic消息队列和System V消息队列的区别


嵌入式Linux Qt应用开发WIFI搜索、显示与连接思路


嵌入式linux检测U盘拔插与QT界面开发相结合的实现思路


嵌入式Linux MIPI接口LCD调试-关于DRM显示与应用调试的干货浓缩

目录
相关文章
|
6天前
|
存储 缓存 API
API接口详解及其在电子商务中的应用研究
通过这些内容的详细介绍和实际案例分析,希望能帮助您深入理解API接口及其在电子商务中的应用,提高系统的互操作性和用户体验。
40 14
|
1天前
|
供应链 搜索推荐 API
1688商品类目API接口的开发应用与收益
1688平台作为全球领先的B2B在线交易市场,提供了丰富的API接口,助力企业高效获取商品信息、优化供应链管理。本文聚焦1688商品类目API接口的开发应用,涵盖接口概述、环境配置、Python代码示例及实际案例,展示其为企业带来的显著收益,如提升运营效率、优化市场策略、降低成本和增强用户体验。通过合理调用API,企业可大幅提升竞争力。
18 7
|
2天前
|
JSON 数据挖掘 API
唯品会按关键字搜索 VIP 商品 API 接口的开发应用与收益
在电商蓬勃发展的今天,精准的商品搜索功能至关重要。唯品会的按关键字搜索VIP商品API接口通过高效、精准的检索,提升了用户购物体验和商家销售业绩。该接口基于RESTful架构,采用JSON格式交互,支持唯品会APP内搜索、第三方平台合作及数据分析等场景,显著提升用户活跃度与忠诚度,拓展销售渠道,增加收入,并挖掘数据驱动的商业价值,助力唯品会持续发展。
14 4
|
6天前
|
人工智能 运维 监控
发现API安全风险,F5随时随地保障应用和API安全
发现API安全风险,F5随时随地保障应用和API安全
23 7
|
10天前
|
人工智能 监控 安全
自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection
骨骼点检测技术能够从图片中识别出人体的关键骨骼点位置,如头部、肩部、手肘等,广泛应用于运动健身指导、游戏交互、医疗辅助、安全监控等领域。我决定深入学习HarmonyOS Next API 13中的Skeleton Detection API,并开发一个简单的骨骼点检测应用。通过理解API核心功能、项目初始化与配置、实现检测功能、构建用户界面,以及性能优化和功能扩展,逐步实现这一技术的应用。未来计划将其应用于健身指导和智能监控领域,探索与其他AI能力的结合,开发更智能的解决方案。如果你也对骨骼点检测感兴趣,不妨一起进步!
133 9
|
9天前
|
JSON API 开发者
Lazada 商品评论列表 API 接口:开发、应用与收益
Lazada作为东南亚领先的电商平台,其商品评论数据蕴含丰富信息。通过开发和利用Lazada商品评论列表API接口,企业可深入挖掘这些数据,优化产品、营销和服务,提升客户体验和市场竞争力。该API基于HTTP协议,支持GET、POST等方法,开发者需注册获取API密钥,并选择合适的编程语言(如Python)进行开发。应用场景包括竞品分析、客户反馈处理及精准营销,帮助企业提升销售业绩、降低运营成本并增强品牌声誉。
26 2
|
13天前
|
供应链 搜索推荐 API
1688榜单商品详细信息API接口的开发、应用与收益
1688作为全球知名的B2B电商平台,为企业提供丰富的商品信息和交易机会。为满足企业对数据的需求,1688开发了榜单商品详细信息API接口,帮助企业批量获取商品详情,应用于信息采集、校验、同步与数据分析等领域,提升运营效率、优化库存管理、精准推荐、制定市场策略、降低采购成本并提高客户满意度。该接口通过HTTP请求调用,支持多种应用场景,助力企业在电商领域实现可持续发展。
58 4
|
12天前
|
监控 搜索推荐 API
京东按图搜索京东商品(拍立淘)API接口的开发、应用与收益
京东通过开放商品详情API接口,尤其是按图搜索(拍立淘)API,为开发者、企业和商家提供了创新空间和数据支持。该API基于图像识别技术,允许用户上传图片搜索相似商品,提升购物体验和平台竞争力。开发流程包括注册账号、获取密钥、准备图片、调用API并解析结果。应用场景涵盖电商平台优化、竞品分析、个性化推荐等,为企业带来显著收益,如增加销售额、提高利润空间和优化用户体验。未来,随着数字化转型的深入,该API的应用前景将更加广阔。
56 1
|
13天前
|
安全 API 数据安全/隐私保护
速卖通AliExpress商品详情API接口深度解析与实战应用
速卖通(AliExpress)作为全球化电商的重要平台,提供了丰富的商品资源和便捷的购物体验。为了提升用户体验和优化商品管理,速卖通开放了API接口,其中商品详情API尤为关键。本文介绍如何获取API密钥、调用商品详情API接口,并处理API响应数据,帮助开发者和商家高效利用这些工具。通过合理规划API调用策略和确保合法合规使用,开发者可以更好地获取商品信息,优化管理和营销策略。
|
16天前
|
存储 搜索推荐 API
小红书笔记详情API接口的开发、应用与收益
小红书笔记详情API接口为开发者、企业和内容创作者提供了获取平台丰富资源的通道。通过该接口,用户可以提取笔记的详细信息(如标题、正文、标签等),并应用于市场调研、竞品分析、内容创作、电商推荐等多个领域。这不仅有助于提升品牌影响力和优化用户体验,还能挖掘商业机会,促进内容创新,增强用户互动与社群凝聚力。总之,小红书笔记详情API接口为企业和个人在社交媒体领域探索新增长点提供了重要工具。
83 0