嵌入式入门开发投机取巧2-剽窃

嵌入式入门开发投机取巧2-剽窃 亮仔 工作微信[呲牙] 2023-10-31 14:40:15 425

前言

无论桌面还是嵌入式开发,除了硬件调试,调用厂家接口外,必须有代码量的积累,不可能什么代码都需要自己编写,
那公司代码从哪里来的???

动态库静态库要不要使用

在X86,比如ubuntu开发,比如代码中使用了sqlite,可能直接apt-get install sqlite,类似这样的命令就可以了.
但是在嵌入式中不可能也安装把,嵌入式需要交叉编译,问题来了玩意项目中遇到一堆依赖,xml,json,sqlite,ini,zlib等等,
这些最基础的难道也需要交叉编译?
显然交叉编译至少对于简单的功能来说,是非常不可取的;
最好的办法是直接使用第三方库中的源码直接放到工程中编译;
下面是本人多年开发积累的库

很多芯片厂家平台都使用了buildroot这样的全家桶,好处就是里面自带了很多的库,qt,openssl等,经过配置,输出的文件系统中就有了这个库环境,但是如此庞大的库必然需要大的flash来支撑,消费级的产品可能flash就8M甚至更小,那如何使用,所以嵌入式的开发要想走的远,常规的依赖必须要有源码的支撑.使用依赖库是不可取的办法;

buildroot中都可以配置ssh,但是busybox中只有telnet,比如海思平台,使用ssh还要交叉编译移植,常规调试也只能使用串口,不像瑞芯微有好用的adb直连调试或者传文件,甚至瑞芯微都提供了成熟的网络升级固件;综上所述,只有竟可能掌握了越多的基础代码,才能避免在研发过程中处处受平台限制,比如下列:
文本格式的解析
json/xml/ini…
数据库
sqlite…
网络传输
ftp/tpfp…
传输协议
mqtt…
流媒体
GB28181/RTSPCLIENT/RTSPSERVER/RTMPPUSHER/WEBRTC…
链表

从第三方库中剽窃代码

下面仅仅以简单的sqlite说明

解压sqlite发现一堆文件,新手会顿时懵逼,可是按照文件类型后排序,发现有用的物件就5个,2个.c文件,3个.h文件

-rw-r--r-- 1 Admin 197121  724661 Feb 23  2022 shell.c
-rw-r--r-- 1 Admin 197121 8457709 Feb 23  2022 sqlite3.c
-rw-r--r-- 1 Admin 197121  611623 Feb 23  2022 sqlite3.h
-rw-r--r-- 1 Admin 197121   36750 Feb 23  2022 sqlite3ext.h
-rw-r--r-- 1 Admin 197121      78 Feb 23  2022 sqlite3rc.h

使用vscode分析下:
入口main在shell.c中,怀疑shell.c就是入口,

shell.c干啥用的?
vscode在一分析,这不就是sqlite命令操作数据库的实现,很显然shell.c不是我们想要的,因为代码中都是使用源码操作,
让然你非要在工程中利用sqlite命令,比如类似system(“reboot”)这样的系统调用命令也是可以的,
只需要把shell.c的入口改成main()改成sqlite_exec()就可以
在代码中就调用sqlite_exec(“create table stu(id int, name char, sex char , score int);”)
使用命令创建表

回到上面的问题,抽取sqlite纯源码到自己的工程需要下面的文件

-rw-r--r-- 1 Admin 197121 8457709 Feb 23  2022 sqlite3.c
-rw-r--r-- 1 Admin 197121  611623 Feb 23  2022 sqlite3.h
-rw-r--r-- 1 Admin 197121   36750 Feb 23  2022 sqlite3ext.h
-rw-r--r-- 1 Admin 197121      78 Feb 23  2022 sqlite3rc.h

经过下面一编译,移植成功
恭喜你以后再也不需要在嵌入中交叉编译sqlite或者在buildroot中配置sqlite了

从Github中剽窃代码

https://github.com/
下面以之前的公司需求为例子,公司需要对音频处理,做均衡器
于是在github使用关键词”Equalizer”进行搜索,于是下载了一堆,挑几个使用

从CSDN中剽窃代码

下载需要积分,积分从淘宝购买就可以以,
下面给出连接
https://download.csdn.net/?spm=1000.2115.3001.6907
下面以opencv的使用为关键词讲述代码的剽窃

想下载需要积分,研发的过程需要效率,花几毛钱直接从某包买

干脆囤一些,放到微信搜藏

使用连接下载,恭喜剽窃成功

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 1 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
关于作者
亮仔 工作微信[呲牙]

亮仔 工作微信[呲牙]

暂无个性签名~

原创3
阅读2.1k
收藏5
点赞10
评论1
打赏用户 0
我要创作
分享技术经验,可获取创作收益
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
亮仔 工作微信[呲牙]
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区