自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 嵌入式Linux,父进程与子进程的竞争问题

1. 竞争问题1. 竞争问题调用 fork()之后,子进程成为了一个独立的进程,可被系统调度运行,而父进程也继续被系统调度运行,这里出现了一个问题,调用 fork 之后,无法确定父、子两个进程谁将率先访问CPU,也就是说无法确认谁先被系统调用运行(在多核处理器中,它们可能会同时各自访问一个 CPU我们是无法确认子进程打印信息和父进程打印信息谁先会被打印出来,有时子进程先被执行,打印出"子进程打印信息,而有时父进程会先被执行,打印出子进程打印信息。

2024-12-26 18:30:32 702

原创 嵌入式Linux,proc文件系统讲解,介绍以及读取使用

内核构建 proc 虚拟文件系统,它会将内核运行时的一些关键数据信息以文件的方式呈现在 proc 文件系统下的一些特定文件中,这样相当于将一些不可见的内核中的数据结构以可视化的方式呈现给应用层。proc 文件系统挂载在系统的/proc 目录下,对于内核开发者(譬如驱动开发工程师)来说,proc 文件系统给了开发者一种调试内核的方法:通过查看/proc/xxx 文件来获取到内核特定数据结构的值,在添加了新功能前后进行对比,就可以判断此功能所产生的影响是否合理。⚫ mounts:挂载的文件系统列表;

2024-12-21 19:38:59 929

原创 嵌入式Linux,系统资源,休眠,堆内存,相关函数讲解

有时需要将进程暂停或休眠一段时间,进入休眠状态之后,程序将暂停运行,直到休眠结束。常用的系统调用和 C库函数有sleep()usleep()以及,这些函数在应用程序当中通常作为延时使用。

2024-12-16 10:09:07 1057

原创 嵌入式Linux,系统信息与系统资源,系统时间获取转换,进程时间,相关函数讲解。

如果我们想查看程序运行到某一个位置时的进程时间,或者计算出程序中的某一段代码执行过程所花费的进程时间,都可以使用 times()函数来实现。类型),调用成功情况下,将返回从过去任意的一个时间点(譬如系统启动时间)所经过的时钟滴答数(其实就是系统节拍数),将()转换得到的时间是计算机所在地对应的本地时间(譬如在中国对应的便是北京时间), 并不是 UTC。struct tm 结构体所表示的时间,该时间对应的是本地时间。提供了一个更为简单的方式用于进程时间,它的返回值描述了进程使用的总的。

2024-12-14 10:00:32 975

原创 嵌入式Linux,字符串的处理,以及相关函数详解

C语言库函数中已经给我们提供了丰富的字符串处理相关函数,基本常见的字符串处理需求都可以直接使用这些库函数来实现。

2024-12-08 18:39:18 961

原创 嵌入式Linux,标准I/O探究,I/O缓冲,以及函数讲解

1.出于速度和效率的考虑,系统I/O调用(即文件I/Oopenreadwrite等)和标准C语言库I/O函数(即标准 I/O函数)在操作磁盘文件时会对数据进行缓冲。1.read()和write()系统调用在进行文件读写操作的时候并不会直接访问磁盘设备,而是仅仅在用户空间缓 冲区和内核缓冲区(kernel buffer cache)之间复制数据。比如。

2024-12-06 19:18:15 1097 1

原创 嵌入式Linux,标准I/O探究,函数相关详解。

通常标准I/O库函数相关的函数定义都在头文件<stdio.h>中,所以我们需要在程序源码中包含<stdio.h>头文件。标准I/O库函数是构建于文件I/Oopen()read()write()lseek()close()等)这些系统调用之上的, 譬如标准 I/O库函数fopen()就利用系统调用open()来执行打开文件的操作、fread()利用系统调用read()来执行读文件操作、fwrite()则利用系统调用write()来执行写文件操作等等。

2024-12-05 13:56:59 1908

原创 嵌入式Linux,文件I/O深入探究,函数相关详解。

第一,O_APPEND 标志并不会影响读文件,当读取文件时,O_APPEND 标志并不会影响读位置偏移量,即使使用了 O_APPEND标志,读文件位置偏移量默认情况下依然是文件头。第二,使用了 O_APPEND 标志,即使是通过 lseek 函数也是无法修改写文件时对应的位置偏移量,写入数据依然是从文件末尾开始,lseek 并不会该变写位置偏移量。dup 系统调用分配的文件描述符是由系统分配的,遵循文件描述符分配原则,并不能自己指定一个文件描述符,这是 dup 系统调用的一个缺陷;

2024-12-04 13:43:38 1132

原创 嵌入式Linux,文件I\O操作基础,函数讲解。

以只读方式打开文件。

2024-12-03 14:00:54 1080

原创 算法题分享,蓝桥练习

在本题中,“A除以 B 的余数” 是指存在整数 q 使得 A=Bq+r,并且 r 是唯一的非负整数,满足 0≤r<∣B∣。对于每个测试用例,输出一个整数,表示 A 除以 B 的余数。给定两个整数 A、B,请你求出 A 除以 B 的余数。对于每个测试用例,输入一行包含两个整数 A和 B(第一行包含一个整数 T(1≤T≤。),表示测试用例的数量。,B≠0),以空格分隔。

2024-11-30 13:38:40 283

原创 硬件开发,电路基础,RC低通滤波器,RC高通滤波器,LR低通滤波器,LR高通滤波器,电路仿真分析。

硬件开发,电路基础,RC低通滤波器,RC高通滤波器,LR低通滤波器,LR高通滤波器,电路仿真分析。

2024-11-29 13:33:43 804

原创 硬件开发,电路基础,电容,电感以及电阻,相关的注意事项,仿真分析。

硬件开发,电路基础,电容,电感以及电阻,相关的注意事项,仿真分析。

2024-11-28 13:13:56 922

原创 Linux,Linux命令详解,常见指令

Linux,Linux命令详解,常见指令

2024-11-27 18:08:15 657

原创 C++,函数的提高应用,函数参数设置,函数重载,及其注意事项。

平时我们在定义函数参数的时候,一般都是定义参数类型和参数名,但是的是,在C++中,函数的形参列表中的形参是的。运行结果:在使用这种默认参数的时候,有需要注意,首先,如果在某,那么从这个,意思就是有默认值得参数要往函数括号()的右边放,其次呢,如果函数参数在声明时设有默认值,那么函数调用的时候就不能有默认参数,比如上面例子中的,printf(d),printf(d,20,30)再去设置参数值。

2024-11-26 13:08:44 532

原创 C++,引用的讲解,本质,用法,注意事项

C++,引用的讲解,本质,用法,注意事项

2024-11-25 19:36:58 615

原创 C,C++,对文件的操作流程讲解。

C,C++,对文件的操作流程讲解。

2024-11-23 19:57:56 261

原创 Python,Windows和Ubuntu之间采用TCP协议进行数据传输,一对多

Python,Windows和Ubuntu之间采用TCP协议进行数据传输,一对多。

2024-11-23 11:32:33 2090

原创 C,C++,堆区动态开辟内存,注意事项,语法讲解

在C++中,由程序员开辟的内存是开辟在堆区上的,同时开辟的这一段内存,只能由程序员手动释放或者程序全部运行结束以后才能被操作系统释放,下面讲解语法:这是一个简单的开辟一个int类型的数据内存,里面存放的是10,用new操作符开的数据类型,必须要用相同的指针类型来接收内存地址,下面是运行结果:正如前面所说,开辟的数据要用相同类型的指针来接收地址,下面多举几个简单数据类型的例子:运行结果:除了开辟单独的一个数据,还可以开辟一个数组,举一个简单的例子(其他数据类型类似):运行结果:数组除了定义之

2024-11-20 14:41:28 862

原创 C和C++,程序的内存模型,内存四区详解。

C和C++,程序的内存模型,内存四区详解。

2024-11-19 22:16:31 389

原创 C语言字符串详解,以及相关常见函数应用,旧版报错解决方法,新版本函数使用

C语言字符串详解,以及相关常见函数应用,旧版报错解决方法,新版本函数使用

2024-11-18 09:09:11 644

原创 C和C++,函数指针,指针函数,函数指针数组

这就是一个简单的指针函数的定义语法。运行结果如下:这是只是一个简单的例子,但是值得注意的我在指针函数里面加了,这样该变量的生命周期也就和全局的变量的生命周期一致了,也就是只有当整体全部程序运行结束的时候该变量才会被销毁,如果不加关键字,那么该变量,会在函数执行完毕时就被销毁掉,就不能接受到返回地址,返回的会是一个乱码。同样的运行方式得到的结果:可以看到两者之间明显的区别。

2024-11-17 11:53:07 1775

原创 C++模板详细讲解

普通函数再调用的时候是可以发生隐式转换,而函数模板再调用的时候,若采用自动推导方式确定数据类型时,是不能够发能隐式转换的,但是函数模板在指明数据类型的时候,是可以发生隐式转换的,如果函数模板和普通函数在相同条件下调用,则优先调用普通函数,也就是函数名和形参。在不指明数据类型P的时候,也就是采用自动推导形式的时候,要保证传入的参数类型一致,才能推导出相同数据类型P。再总结一下,待更新,共勉-----------------------------------------------

2024-11-16 11:00:32 496

原创 C和C++,指针,指针数组,数组指针,以及配合结构体(寄存器)的使用

指针与数组和结构体的结合

2024-11-15 18:39:32 451

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除