- 01-Linux命令基础习惯-Linux系统编程
- 02-类Unix系统目录
- 03-目录和文件操作1
- 04-目录和文件操作2
- 05-软连接和硬链接
- 06-创建修改用户和用户组
- 07-find命令1
- 08-午后回顾
- 09-find命令2
- 10-grep和xargs
- 11-xargs加强和awk说明
- 12-软件包安装
- 13-压缩命令gzip和bzip2
- 14-rar压缩和zip压缩
- 15-其他命令
- 16-总结
- 01-复习
- 02-vim的三种工作模式
- 03-vim基本操作-跳转和删字符
- 04-vim基本操作-删除
- 05-vim基本操作-复制粘贴
- 06-vim基本操作-查找替换
- 07-vim基本操作-其他
- 08-vim配置思路
- 09-gcc编译4步骤
- 10-gcc编译常用参数
- 11-午后复习
- 12-动态库和静态库理论比对
- 13-静态库制作
- 14-静态库使用及头文件对应
- 15-动态库制作-生成与位置无关代码
- 16-动态库制作-演示
- 17-动态库加载错误原因及解决方式
- 18-动态库加载错误原因及解决方式2
- 19-扩展讲解-数据段合并
- 20-总结
- 01-复习
- 02-gdb调试基础指令
- 03-gdb调试其他指令
- 04-gdb常见错误说明
- 05-makefile基础规则
- 06-makefile一个规则
- 07-午后回顾
- 08-makefile2个函数和clean
- 09-makefile3个自动变量和模式规则
- 10-习题和作业
- 11-系统编程阶段说再前面的话
- 12-open函数
- 13-总结
- 01-复习
- 02-makefile作业
- 03-read和write实现cp
- 04-系统调用和库函数比较---预读入缓输出
- 05-文件描述符
- 06-阻塞和非阻塞
- 07-fcntl改文件属性
- 08-午后回顾
- 09-lseek函数
- 10-传入传出参数
- 11-目录项和inode
- 12-stat函数
- 13-lstat和stat
- 14-传出参数当返回值
- 15-link和UNlink隐式回收
- 16-文件目录rwx权限差异
- 17-目录操作函数
- 18-总结
- 01-复习.
- 02-递归遍历目录思路分析
- 03-递归遍历目录代码预览
- 04-递归遍历目录实现
- 05-递归遍历目录总结
- 06-dup和dup2
- 07-fcntl实现dup描述符
- 08-复习
- 09-进程和程序以及cpu相关
- 10-虚拟内存和物理内存映射关系
- 11-pcb进程控制块
- 12-环境变量
- 13-fork函数原理
- 14-fork创建子进程
- 15-getpid和getppid
- 16-循环创建多个子进程
- 17-父子进程共享哪些内容
- 18-父子进程共享
- 19-总结
- 01-复习
- 02-父子进程gdb调试
- 03-exec函数族原理
- 04-execlp和execl函数
- 05-exec函数族特性
- 06-孤儿进程和僵尸进程
- 07-wait回收子进程
- 08-获取子进程退出值和异常终止信号
- 09-waitpid回收子进程
- 10-中午回顾
- 11-错误解析
- 12-waitpid回收多个子进程
- 13-wait和waitpid总结
- 14-进程间通信常见方式
- 15-管道的特质
- 16-管道的基本用法
- 17-管道读写行为
- 18-父子进程通信练习分析
- 19-总结
- 01-复习
- 02-父子进程lswc-l
- 03-兄弟进程间通信
- 04-多个读写端操作管道和管道缓冲区大小
- 05-命名管道fifo的创建和原理
- 06-fifo实现非血缘关系进程间通信avi
- 07-文件用于进程间通信
- 08-mmap函数原型
- 09-复习
- 10-mmap建立映射区
- 11-mmap使用注意事项1
- 12-mmap使用注意事项2
- 13-mmap总结
- 14-父子进程间mmap通信
- 15-无血缘关系进程间mmap通信
- 16-mmap总结
- 17-mmap匿名映射区
- 18-总结
- 01-复习
- 02-信号的概念和机制
- 03-与信号相关的概念
- 04-信号屏蔽字和未决信号集
- 05-信号四要素和常规信号一览
- 06-kill函数和kill命令
- 06-alarm函数
- 07-setitimer函数
- 08-午后回顾
- 09-信号集操作函数
- 09-信号集操作函数使用原理分析
- 10-信号集操作函数练习
- 11-signal实现信号捕捉
- 12-sigaction实现信号捕捉
- 13-信号捕捉的特性
- 14-内核实现信号捕捉简析
- 15-借助信号捕捉回收子进程
- 16-慢速系统调用中断
- 17-总结
- 02-复习子进程借助信号回收
- 03-会话
- 04-守护进程创建步骤分析
- 05-守护进程创建
- 06-线程概念
- 06-三级映射
- 08-线程共享和非共享
- 09-中午复习
- 10-创建线程
- 11-循环创建多个子线程
- 12-错误分析
- 13-线程间全局变量共享
- 14-pthread_exit退出
- 15-pthread_join
- 16-pthread_join作业
- 17-pthread_cancel函数
- 17-检查出错返回
- 18-线程分离pthread_detach
- 19-进程和线程控制原语比对
- 20-线程属性设置分离线程
- 21-线程使用注意事项
- 22-总结
- 02-线程同步概念
- 03-锁使用的注意事项
- 04-借助互斥锁管理共享数据实现同步
- 05-互斥锁使用技巧
- 06-try锁
- 06-读写锁操作函数原型
- 07-死锁两种
- 08-读写锁原理
- 09-读写锁
- 10-午后复习
- 11-静态初始化条件变量和互斥量
- 12-条件变量相关函数wait
- 13-条件变量的生产者消费者模型分析
- 14-条件变量实现生产者消费者代码预览
- 15-条件变量实现生产者消费者代码实现
- 16-多个消费者使用while做
- 17-条件变量signal注意事项
- 18-信号量概念及相关操作函数
- 18-信号量实现的生产者消费者
- 19-总结
目前Linux 已经被广泛的使用,因此有必要简单介绍一下,在Linux 系统下如何进行C语言程序设计。首先介绍在Linux 下如何编辑C 语言源程序,接下来介绍如何编译C 语言源程序,最好介绍如何调试与运行C 语言源程序。
Linux是一个开源的操作系统,它最初仅仅只是芬兰Helsinki大学的一位年轻学生Linux Torvalds作为爱好开发的。Linus对Minix(一个小型的UNIX系统)很感兴趣,并且决定开发一个比Minix更好的系统。 他在1991年开始开发并且当年发布0.02版本,并继续坚持直到1994年发布了Linux内核1.0版本,也就是所有Linux系统的核心。它基于GNU通用公共许可证开发和发布,向每位操作它的人免费开放源码。这个内核建立了Linux操作系统开发最基本的部分,直到现在,依旧有大量的公司、组织和团队源源不断地发布着他们自己基于Linux内核开发的操作系统版本。
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。
也正由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
嵌入式linux属于高度裁剪过的Linux,它将桌面Linux所具有的大部分应用功能(如GUI 工具,计算器,电子邮件 etc.)和部分系统功能省略,集成了开发者希望嵌入式产品所具有的特殊应用功能(例如一款以Linux为系统的触摸式海事导航仪可以根据功能需要去除不需要的功能块,但加入GPS定位,航速航向计算,航线规划,触摸检测和对应功能实现等功能)并结合Linux本身的优势特点,提高产品实时性与安全性。此外,在物联网人工智能时代背景下,生活中那些常见的Linux应用,都离不开嵌入式人工智能与物联网,万物智联正在实现!
