Linux学习之路
文章平均质量分 95
嵌入式Linux学习记录总结
Jason~shen
高级软件工程师,深入研究Qt、C++、Python以及前端开发等多个领域。以代码为笔,以屏幕为纸,书写着技术的诗篇。
展开
-
Linux下基于qt的视频监控系统
Linux下基于qt的视频监控系统服务端: 用v4l2实现视频采集、视频传输,用tcp实现服务器端与客户端通信客户端:用qt实现原创 2021-05-06 15:51:35 · 9722 阅读 · 8 评论 -
【嵌入式Linux笔记】02--系统IO 、标准IO、目录操作
本文内容:系统IO 、标准IO、目录操作 linux文件IO1.课程概览 核心内容:使用linux中提供一系列函数(API),去操作linux当中的文件 (新建文件、打开文件、读写文件、关闭文件) 我们发现前面我已经学过如何操作文件: 使用命令来操作:vi touch gedit vim 使用函数接口来写...原创 2018-12-16 18:03:30 · 487 阅读 · 1 评论 -
【嵌入式Linux笔记】01-结构体、 typedef 、 共用体(联合体) 、枚举类型、高级议题(宏定义、头文件和条件编译)
本文内容:结构体、 typedef 、 共用体(联合体) 、枚举类型、高级议题(宏定义、头文件和条件编译) 结构体定义 不同的数据类型,存放在同一块内存当中,容易操作 结构体----》将不同的类型打包一起形成一个整体,来描述复杂事件 Java 和c++ 语法:类 区别:结构体和类,什么都可以存,但是结构体不能存储事件 1.结构体介绍 str...原创 2018-12-16 17:09:48 · 545 阅读 · 0 评论 -
【嵌入式Linux笔记】01-函数、指针
本文内容:函数--》函数定义、子函数、函数作用域、主函数传参、递归函数指针--》指针定义、指针当数组、函数传参指针、指针字符串操作、指针和数组、指针和函数、指针和const、野指针函数1.函数的定义:”黑匣子“ 。通过一些特定的调用,去实现我们需要的功能 好处:代码模块化,查找错误方便 用法:主函数main() 子函数fun() 2...原创 2018-12-11 22:58:04 · 510 阅读 · 0 评论 -
【嵌入式Linux笔记】01-主函数传参、C语言数据类型、运算符、循环流、数组
本文内容:主函数传参、C语言数据类型、运算符、循环流、数组主函数传参标准写法1:(没有主函数传参) int main(void) 标准写法2:(主函数传参) int main(int argc, char const *argv[]) argc 整型int 参数的数量 argv 指针数组...原创 2018-12-11 22:46:57 · 1341 阅读 · 0 评论 -
【嵌入式Linux笔记】01-Linux命令、文件类型、vi的使用、虚拟机共享目录设置、gcc编译过程、ubuntu网络配置、系统编译器配置
本文内容:Linux命令、文件类型、vi的使用、虚拟机共享目录设置、gcc编译过程、ubuntu网络配置、系统编译器配置目录Linux命令常用命令高级命令文件类型(7种)vi的使用虚拟机共享目录的设置gcc编译过程ubuntu网络配置:系统编译器配置 Linux命令 常用命令 1.ls 列举当前目录下所有的文件和目录(Wind...原创 2018-12-11 21:53:19 · 641 阅读 · 0 评论 -
【QT】嵌入式数据库
目录一、sqlite优点二、Linux命令行下使用数据库三、C++中使用数据库四、QT中使用数据库一、sqlite优点1、零配置:SQlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复2、紧凑:SQLite是被设计成轻量级,自包含的。一个头文件,一个lib库,你就可以使用关系数据库了,不用...原创 2019-08-06 20:36:36 · 1321 阅读 · 1 评论 -
【QT】ubuntu交叉编译Qt程序
问题交流请联系-》群名:IT项目交流群 群号:245022761一、准备1、ubuntu16.04 --64 位2、交叉编译工具 arm-linux-gnueabi-5.4.0.tar.xz3、arm版本Qt Qt-Embedded-5.7.0.tar.xz工 具 下 载 地 址 :https://download.csdn.net/downloa...原创 2019-07-25 19:57:04 · 2829 阅读 · 3 评论 -
【系统编程】进程间通信 --IPC(消息队列msg、共享内存shm、信号量sem)
linux系统编程大纲1. 进程概念、进程诞生与死亡、进程函数接口、进程意义。2. 进程通信方式,有名管道、无名管道、信号、消息队列、共享内存、信号量。3. 进程信号集、如何设置阻塞属性。4. 线程概念,线程与进程区别?线程诞生与死亡,函数接口。5. 线程同步互斥方式,有名信号量,无名信号量,互斥锁,读写锁,条件变量。6. 拓展 -> 线程池 -> 同时处理多个任务。...原创 2019-09-24 11:16:07 · 1620 阅读 · 2 评论 -
【系统编程】进程间通信--信号
linux系统编程大纲1. 进程概念、进程诞生与死亡、进程函数接口、进程意义。2. 进程通信方式,有名管道、无名管道、信号、消息队列、共享内存、信号量。3. 进程信号集、如何设置阻塞属性。4. 线程概念,线程与进程区别?线程诞生与死亡,函数接口。5. 线程同步互斥方式,有名信号量,无名信号量,互斥锁,读写锁,条件变量。6. 拓展 -> 线程池 -> 同时处理多个任务。...原创 2019-09-24 09:41:39 · 428 阅读 · 0 评论 -
【系统编程】进程间通信--管道(无名管道、有名管道)
linux系统编程大纲1. 进程概念、进程诞生与死亡、进程函数接口、进程意义。2. 进程通信方式,有名管道、无名管道、信号、消息队列、共享内存、信号量。3. 进程信号集、如何设置阻塞属性。4. 线程概念,线程与进程区别?线程诞生与死亡,函数接口。5. 线程同步互斥方式,有名信号量,无名信号量,互斥锁,读写锁,条件变量。6. 拓展 -> 线程池 -> 同时处理多个任务。一...原创 2019-09-23 16:49:40 · 354 阅读 · 0 评论 -
【系统编程】进程(概念、Linux命令、诞生与死亡、创建、退出、回收)
linux系统编程大纲1. 进程概念、进程诞生与死亡、进程函数接口、进程意义。2. 进程通信方式,有名管道、无名管道、信号、消息队列、共享内存、信号量。3. 进程信号集、如何设置阻塞属性。4. 线程概念,线程与进程区别?线程诞生与死亡,函数接口。5. 线程同步互斥方式,有名信号量,无名信号量,互斥锁,读写锁,条件变量。6. 拓展 -> 线程池 -> 同时处理多个任务。...原创 2019-09-22 22:25:35 · 549 阅读 · 0 评论 -
【系统编程】进程--exec函数族(execl、execlp、execle、execv、execvp、execve)
1、exec族函数说明 fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我的程序们希望子进程去执行另外,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是...原创 2019-09-22 17:30:42 · 865 阅读 · 0 评论 -
【系统编程】编程调用动态库(dlopen、dlsym、dlclose、dlerror)
动态库的制作:https://blog.csdn.net/qq_40602000/article/details/101148858#include <dlfcn.h>dlopen以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程,dlerror返回出现的错误,dlsym通过句柄和连接符名称获取函数名或者变量名,dlclose来卸载打开的库。1、打开指定名字的库...原创 2019-09-22 16:44:51 · 421 阅读 · 0 评论 -
【开发板】开发板传输文件(rx、rz、tftp)
开发板传输文件方法一:rx +文件名方法二:rz rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具 工具链接:rz传输工具下载 6818 中是没有rz 命令的,只有 rx,所以用rx把 rz传到6818板子中的 /bin下,再修改权限即可 ...原创 2019-09-22 15:43:40 · 5851 阅读 · 1 评论 -
【开发板】LCD的使用、触摸屏的使用
一、开发板LCD的使用打开LCD:open(“/dev/fb0”,O_WRONLY);写LCD(向LCD填充颜色值):write();方法一: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> in...原创 2019-09-22 11:42:49 · 3449 阅读 · 1 评论 -
【系统编程】缓冲区(全缓冲,行缓冲,不缓冲)
缓冲区的本质是一块存储区域缓冲区分类:全缓冲,行缓冲,不缓冲。全缓冲:缓冲区满会输出。 程序结束会输出。 刷新缓冲区。 函数:fflush(stdout);缓存在缓冲区的东西在缓冲区满的时候,才写入磁盘或者调用fflush刷新缓冲区才能写入到磁盘。对于全缓冲,如果缓冲区没满,或者我们没有手动刷新缓存,那么缓存区的内容是不能写入到磁盘的。行缓冲:碰到\n会输出。 程序结束...原创 2019-09-22 10:31:50 · 788 阅读 · 0 评论 -
【系统编程】LINUX系统结构、GDB调试
一、Linux系统结构 Linux体系结构大致可以分为两块: (1)用户空间:用户空间中又包含了,用户的应用程序,C库 (2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码 Linux 内核由如下几部分组成:内存管理、进...原创 2019-09-22 10:13:50 · 192 阅读 · 0 评论 -
【系统编程】多路复用(select、poll、epoll)
I/O复用函数 使用select()函数 1、这个函数会一直阻塞等待并不停监测集合里的文件描述符是否发生变化,如果发生变化就返回,不再阻塞,并且会将集合里没有发生变化的文件描述符从集合里踢出去。 缺点:1 线程不安全,如果其他线程发现文件描述符没有在使用可能会回收 select()函数不允许,如果强制关闭,可能会发生未知错误。 2 监测的文件描述...原创 2019-09-21 23:15:03 · 360 阅读 · 0 评论 -
【系统编程】动态库和静态库
一、动态库 程序在运行时才去链接动态库的代码,多个程序共享库的代码。一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的一个表,而不是外部函数所在目标文件的整个机器码。 动态库的名字:lib开头+库名+.so ,eg:libfile.so就是一个叫file的动态库 生成Ubuntu使用的动态库:gcc -shar...原创 2019-09-22 11:11:37 · 645 阅读 · 0 评论