![](https://img-blog.csdnimg.cn/470dddcecd67475ca060ad70286ae54f.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式开发
文章平均质量分 70
日常的嵌入式开发记录
没有理想的不伤心
没有理想的人不伤心
展开
-
可移植性和跨平台性,你能分得清吗?
尽管二者有各自的侧重点,但在实践中,它们之间存在一定的模糊地带。提高软件的可移植性通常也是为了达到更好的跨平台效果,而一个优秀的跨平台设计本身也体现了良好的可移植性。例如,使用Java或Python这类语言开发的应用,因为有虚拟机或解释器的抽象层,天然具有较高的跨平台性,同时也展示了良好的可移植性,因为代码可以在不同平台的虚拟机或解释器上运行,无需重新编译。原创 2024-07-13 16:45:01 · 200 阅读 · 0 评论 -
autotools
编译Cunit源码的时候接触,然后就觉得神器,想来构建项目的Makefile。不过,还是有必要了解学习的,因为需要使用太多的开源库了。想要练习,可参考。原创 2024-07-13 16:34:27 · 272 阅读 · 0 评论 -
makefile
makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模块及库等).创建程序(make程序)首先读取makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成的通常是可执行文件.创建程序利用内置的推理规则来激活编译器,以便通过对特定CPP文件的编译来产生特定的OBJ文件.shell环境变量、makefile、命令行 (优先级从左往右升高)原创 2024-07-13 16:23:02 · 790 阅读 · 0 评论 -
Linux-struct list_head的快速使用
define LIST_HEAD_INIT(name) { &(name), &(name) }//结合LIST_HEAD看,直接next,prev赋值。struct list_head name = LIST_HEAD_INIT(name)//定义并初始化链表头结点。#define INIT_LIST_HEAD(ptr) do { \ //初始化已经定义了的链表头结点。2. 需要注意的是:以下代码运行成功的前提是:第一个成员变量类型必须是list_head。1. 主要是初始化部分,变量是否已经定义。原创 2024-06-01 17:27:05 · 328 阅读 · 0 评论 -
Linux信号
本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和 后台进程组,一般都属于这个 Session。当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。这个信号的默认操作为终止进程,因此前台进 程组和后台有终端输出的进程就会中止。原创 2024-03-30 23:22:08 · 1113 阅读 · 0 评论 -
如何才能让进程先捕捉SIGSEGV信号,打印出有用的方便定位问题的信息,然后再优雅地退出呢?
不过!!!你会发现程序一般不会对SIGSEGV信号进行处理,那是因为SIGSEGV是不可靠信号(1-31)不可靠信号无法保证一定会被处理!!!所以在程序崩溃段错误这种情况下,用了也可能是白用。。。。。。原创 2024-03-30 20:23:18 · 315 阅读 · 1 评论 -
开发问题之DHCP
DHCP原创 2023-02-25 16:35:37 · 160 阅读 · 0 评论 -
AWTK-idle
AWTK-idle原创 2022-10-11 23:48:47 · 211 阅读 · 0 评论 -
AWTK-控件
AWTK-控件原创 2022-09-02 16:52:51 · 357 阅读 · 0 评论 -
AWTK-Viewmode
AWTK 代码生成器原创 2022-08-30 19:45:04 · 1699 阅读 · 0 评论 -
AWTK之多线程
由AWTK idle至此原创 2022-08-24 21:14:12 · 669 阅读 · 0 评论 -
嵌入式基础之启动boot
boot(之后完善补充)原创 2022-08-24 00:38:27 · 418 阅读 · 0 评论 -
嵌入式开发之AWTK
AWTK的简单使用和入门原创 2022-08-21 22:09:49 · 3666 阅读 · 0 评论