![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux学习
文章平均质量分 75
学习linux工程中的部分笔记
房东的哈士奇
这个作者很懒,什么都没留下…
展开
-
linux使用线程函数时报错
先检查头文件有没有定义再检查编译时是否链接好了线程库如如果都没问题的话,看这篇。原创 2023-10-26 15:38:22 · 313 阅读 · 0 评论 -
VMware打开共享虚拟机后找不到/mnt/hgfs/文件夹,以及不能拖拽/复制粘贴等操作,ubuntu不能安装VMware tools
我的问题出现原因是,安装ubuntn虚拟机的时候VMware tools没有安装好,需要重新安装,但安装选项是暗的,不能操作。类似这种情况,虚拟机开启时也是,因为我虚拟机已经装好了,开启时是亮的,所以我在挂起时截的图。如果虚拟机开启的时候是亮的直接点击使用就好了。直接跳到第二步就好了。原创 2023-10-26 11:34:15 · 3686 阅读 · 2 评论 -
HTTP、TCP、SOCKET三者之间区别和原理
SYN和FINACK两者在请求和确认时有标志数据seq和ask,两者通用:seq为请求携带的标志数据,ask为确认的标志数据,ask=上一个seq+1。原创 2023-09-23 19:12:02 · 268 阅读 · 0 评论 -
【树莓派4b】移植内核后不能连接上wifi。
之前我在树莓派登录时网络登录的小结,总结了没有wlan0的解决方法,查看rfkill,并关闭rfkill来解决。实现是发现重启树莓派后,报错1没了,但没连接上wifi,所以我们发现了错误3。进入/lib/modules//目录,运行sudo depmod。这两个报错是一个原因的,但发现有先后过程,所以我就分开来了。所以我找到了方法2一劳永逸的方法。所以之前的方法行不通。原创 2023-09-08 21:45:40 · 612 阅读 · 0 评论 -
Linux内核结构框架和驱动管理
owner = THIS_MODULE, //前缀.为单独提取该结构体类型中的其中一个元素进行操作.write = pin4_write, //函数指针,为我们定义的驱动函数我们需要先定义一个自定义的设备驱动函数,在file_operation类型的结构体中注册。原创 2023-09-05 10:10:13 · 118 阅读 · 0 评论 -
【树莓派4B】linux内核配置+编译+挂载
驱动代码的编写需要一个提前编译好的内核,所以烧入树莓派的linux内核需要提前配置。原创 2023-08-30 16:10:07 · 443 阅读 · 0 评论 -
ubuntu下载gcc8-3-0,make后的【recipe for target ‘***‘ failed】错误解决方法
在我根据进行安装到make完后,输入make install命令行时出现错误:并且解决过程中根据下载了不同依靠等东西,该xxx是有变化的。原创 2023-08-04 17:34:23 · 1723 阅读 · 0 评论 -
【树莓派4b】从刷机到(串口、网络、图形)三个登录方法(匹配树莓派4b,网上找到的资源大多数是3b)(解决了刷机后串口没反应,登录密码错误,网络连接不上等问题)
单纯看网上的资料太零碎,而且大部分没特定为树莓派4b的资源,都不适合树莓派4b操作,所以写了这个文章,解决了刷机后串口没反应,登录密码错误,网络连接不上等问题原创 2023-07-29 21:20:25 · 404 阅读 · 0 评论 -
linux操作系统下的静态库与动态库
先将我们需要包装为静态库的.c文件转换成.o文件,然后在转换成lib开头.a文件。该.a文件即为我们需要的静态库文件(后续文件名用name来代替)原创 2023-07-22 21:30:30 · 68 阅读 · 0 评论 -
linux下socket网络编程的学习过程
1.创建套接字(api:socket)2.为套接字添加信息(ip地址和端口)(api:bind)3.监听网络连接(api:listen)4.监听到有客户端接入,连接该客户端(api:accept)5.数据交互(api:read、wriet)6.关闭套接字,断开连接(api:colse)原创 2023-07-21 14:13:39 · 71 阅读 · 0 评论 -
信号量控制进程间时序
信号量相当于一个钥匙,当钥匙存在(信号量创建)时,进程的运行将需要取到钥匙才能运行(p操作),进程取走钥匙后需要放回钥匙(v操作)其他进程才能,取到钥匙,否则其他进程会死等到取到钥匙。信号量是以信号量集存在的,所以一下api操作是针对信号量集的操作。原创 2023-07-15 17:24:40 · 64 阅读 · 0 评论 -
C语言线程pthread操作
因为系统不能确定线程1线程2哪个先运行所以我们用互斥锁来规范运行次序,而且当线程二先运行时,我们运行一次就开关一次互斥锁,则线程1就可以达到我们需要的效果。进程之间拥有自己独立的内存空间,一个进程死掉后不会对其他进程产生影响,而线程只有自己的堆栈和局部变量的地址空间,一个线程死掉对于整个线程死掉。第四个参数为传入创建线程的参数的地址,一个参数既取变量地址即可,多个参数可以将其变为结构体或字符串等再将其地址传入。进程是程序执行的实例,进程是线程的容器,一个进程中的多个线程共用一个地址空间。原创 2023-07-15 15:47:34 · 398 阅读 · 0 评论 -
linux中的进程间通讯
单机通讯:FIFO,命名全双工通道,消息队列,信号,共享存储联网通讯:STREAMS(嵌套字),socket。原创 2023-05-10 18:35:31 · 105 阅读 · 0 评论 -
Linux环境下的文件管理函数
linux的库中调用的函数:read(),write(),open(),close(),lseek();调用头文件:#include 和 #include 和#include原创 2023-05-04 21:02:49 · 66 阅读 · 0 评论 -
Linux中报错segmentation fault
我在写一个char *readBuf = NULL;后直接调用*readBuf = a;然后就报了segmentation fault 的错误,通过看别人的博客后,发现是因为我的这个指针还是野指针,所以直接赋值的话会直接内存溢出/泄露。泄露/溢出: 当一个进程执行一个无效的内存引用,或发生断错误时,会触发 SIGSEGV信号,内核默认的动作就是 终止该进程。我们可以在定义完readBuf后,给指针开辟一个空间,用malloc开辟。size为我需要空间能存放多少字节。我今天就遇到了该问题。原创 2023-05-04 20:30:50 · 611 阅读 · 0 评论 -
基于VMwareWorkstation运行ubuntu虚拟机的文件共享与虚拟网络配置
虚拟机网络编译器>>选择现有桥接模式虚拟网卡/添加网络>>选择桥接模式>>选择桥接到(选择硬件通道)(无线网络/有线网络)>>设置整个虚拟机网络适配器>>选择桥接模式。但如果是一些如百度云阿里云服务器这样的虚拟机,则如果需要共享文件只能使用ftp方式在有网络的情况下实行ip地址间的数据传输。虚拟机的网络有三种模式:1.桥接模式(Bridged)2.网络地址转换模式(NAT)3.仅主机模式(Host-Only)文件共享方式有三种:1.拖拽。在虚拟机设置>>选项>>共享文件夹>>总是启用>>添加>>确定。原创 2023-04-11 09:46:59 · 573 阅读 · 0 评论 -
基于VMwareWorkstation运行ubuntu虚拟机的操作键
退出VI模式并保存代码:在命令行模式下输入 ‘:’+w+q(w:保存,q:退出)输入模式:该模式下底部会有INSERT的提示,在命令行模式下按i进入该模式。重命名文件:mv a.c b.c (将a.c文件重命名为b.c)编译c文件:gcc ‘文件名.c’ -o '编译完的文件的文件名'将所有的c代码剪切到指定文件夹下:mv *.c +‘文件夹名’终端窗口字体放大:Ctrl + Shift + ‘+’把b.c拷贝成新的文件c.c:cp b.c c.c。VI模式:两种模式:命令行模式和输入模式。原创 2023-04-10 20:51:53 · 2429 阅读 · 0 评论