![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发技能
文章平均质量分 75
壹~
这个作者很懒,什么都没留下…
展开
-
写shell脚本时,不知道怎么用adb进入超级用户,可以这么做
这两句脚本执行成功会这样子,成功之后,就已经是 su 权限了。原创 2024-01-21 23:13:05 · 468 阅读 · 0 评论 -
Linux 挂载文件系统为可读写 mount -uw / 和 mount -o remount,rw /
使用正确的挂载选项可以为文件系统的安全性和性能提供良好的保障。中的 -u 参数表示将已挂载的文件系统重新挂载为可读写模式,而 -w 参数表示以可写模式挂载。,用于指定额外的挂载选项。remount 参数表示重新挂载,rw 参数表示以可读写的方式挂载。命令在大多数情况下应该是能够重新挂载为可写的文件系统的,但在某些特殊情况下可能会失败。命令则更加具体和明确,通常能够成功地重新挂载为可写的文件系统。地指定了重新挂载,并将文件系统以可读写的方式挂载。,该命令可以成功地重新挂载为可写的文件系统。原创 2023-11-27 15:10:35 · 4004 阅读 · 0 评论 -
在工程中输出尽量用log而不用直接打印
例如,将日志级别设置为 ERROR 或 FATAL,则只会输出关键的错误信息,而不会输出调试或跟踪信息,从而避免了无用的输出信息占用过多的内存空间。由于嵌入式处理器的计算能力有限,如果程序中频繁地使用 printf 函数输出日志信息,可能会导致处理器过载,从而影响系统的实时性和响应速度。相比之下,printf 可能会产生大量的输出,占用过多的内存和处理时间,从而影响系统性能。:log 系统通常具有更好的移植性,可以在不同的平台和操作系统上使用,而 printf 则可能因为不同平台和编译器的差异而导致问题。原创 2023-11-27 15:09:12 · 649 阅读 · 0 评论 -
开发过程中,对于动态库的疑问和思考
一开始我是想着,有了头文件,不就已经有了我在代码中需要用到的关于 hiredis 的数据结构和函数定义了吗,在编译成可执行文件时,编译器不就可以找到对应的数据结构和函数定义了吗,就不会导致未定义的情况,就不需要在 Linux 系统下包含 libhiredis.so 了啊。,有了这个选项,链接器就需要去找到动态库的位置和名称,以便能够正确链接和加载动态库,一旦找到动态库,链接器就会把动态库的符号表信息记录在可执行文件中,然后再解析程序中对动态库的符号引用,以便能够正确地将动态库中的函数调用链接到程序中。原创 2023-11-24 17:12:11 · 1020 阅读 · 0 评论 -
Makefile(详细教程)
make是一个命令工具,Makefile是一个文件,make执行的时候,去读取Makefile文件中的规则,重点是 Makefile 得自己写。cmake是一个命令工具,CMakeLists.txt是一个文件,cmake执行的时候,去读取CMakeLists.txt文件中的规则,重点是 CMakeLists.txt 得自己写。定义:变量名=变量值使用:$(变量名), ${变量值}clean:自定义函数,不是真正的函数,本质上是多行命令放在外面定义的函数内了。原创 2023-11-08 10:39:40 · 5039 阅读 · 0 评论 -
SVN学习
SVN是代码版本管理工具,它能记住每次的修改、查看所有修改记录、恢复到任何历史版本和恢复已经删除的文件。SVN比起Git的好处就是使用简单,上手快;具备目录级权限控制,用户只能访问指定目录下的文件;且子目录就可以检出(Checkout),减少不必要的文件检出。SVN的基础操作:检出(checkout)、新增(add)、提交(commit)和更新(update)。SVN使用的注意事项:使用SVN管理代码之前最好的顺序是先更新,再修改再提交,这样做可以避免发生冲突。原创 2023-07-26 23:27:45 · 684 阅读 · 0 评论