技术干货 > 文章详情

嵌入式丨嵌入式开发初级教程

3年前 Linux C++ 嵌入式

C.jpg


导读:在纷繁复杂的嵌入式应用需求中,只有掌握了linux操作系统所提供的核心结构,我们才能在今后面临客户不断变化的开发需求,游刃有余。本阶段将要掌握linux系统下文件IO,进程,线程,进程间通信,socket网络编程相关的嵌入式开发知识点。


C1.jpg


  linux操作系统的io系统编程,是嵌入式学习必学课程之一,从IO系统的函数、标准及相关操作方面详细学习,方便初学者快速掌握。


  open和close函数及touch命令实现

  read和write函数

  lseek函数和cp命令实现

  标准IO-缓存

  标准IO-fopen和fclose

  标准IO之fputs和fgets函数

  标准IO之fflush、无缓存、fseek、rewind、rewind

  标准IO之gets、puts、fprintf、sprintf函数

  标准IO之fgetc、fputc

  标准IO之feof、ferror、clearerr

  标准IO之cat命令实现

  标准IO之fread、fwrite

  fgetc_read之比较

  fread和fgets效率比较

  函数库的制作

  linux系统编程 目录IO


  想系统学习以上知识,请点击:linux之io系统编程学习视频


C2.jpg


  进程,程序灵魂的载体,掌握了linux的进程及特性,以及他们之间的信息传递,将是成为一名合格的linux应用开发工程师必须的技能。


  无名管道

  有名管道

  信号通信

  共享内存

  消息队列

  信号灯


  想系统学习以上知识,请点击:Linux进程间通信学习视频


C3.jpg


  Linux多线程技术,嵌入式开发常用技术之一,更好的利用资源,让你的程序相应更快,在多核时代,让你实现真正的并行。


  线程的概念

  线程id

  创造线程

  主线程

  线程状态和回收

  线程退出,线程连接,线程取消

  信号默认处理

  信号处理

  线程清理程序

  线程同步的必要性

  互斥量使用

  读写锁

  条件变量

  一次性初始化

  线程的分离属性,线程栈属性,线程同步属性

  线程私有数据

  线程与fork

  tcp服务器的创建方法

  简单tcp服务器

  tcp多线程服务器


  想系统学习以上知识,请点击:Linux多线程编程学习视频


C5.jpg


  让你从零开始学习网络编程,以及网络编程中的技巧运用,并能熟悉从网络基础中做更高层的开发。


  网络编程基础以及wireshark的使用

  简单时间服务器的编写

  TCP三次握手四次挥手

  其他网络编程的基础知识

  多客户端并发介绍以及sourceInsight的基本使用

  IO复用及select使用流程

  对select提高效率的第一种解决办法

  高并发服务器之epoll编程

  一个嵌入式linux项目的流程以及rshell

  rShell的客户服务器实现


  想系统学习以上知识,请点击:嵌入式Linux网络编程基础学习视频


C6.jpg


  C++是在C语言的基础上开发的一种通用编程语言,支持面向对象编程、泛型编程和过程化编程等多种编程范式,在嵌入式应用开发中广泛运用。


  VS2010开发环境

  标准流输入输出

  标准库string类型

  标准库vector类型

  面向对象基础

  定义类和对象

  类和对象的使用

  构造函数和析构函数

  this指针和复制构造函数

  类的静态成员

  const对象和const成员

  友元

  运算符重载基础

  运算符重载规则

  重载二元和一元运算符

  流插入、提取运算符和类型转换

  定义自己的String类

  继承与派生基础

  派生类使用

  多态

  文件操作

  STL顺序容器

  STL关联容器和容器适配器

  STL迭代器和算法


  想系统学习以上知识,请点击:C++面向对象编程学习视频


C7.jpg


  数组与链表

  热身战:Reverse数组以及大O表达式

  热身战:斐波那契数列的递归实现

  Reverse链表

  合并两个排好序的链表

  归并排序

  快速排序

  折半搜索法

  半搜索法 - 迭代

  字符串搜索(strStr)

  Binary Search-使用二叉搜索树

  基于递归的BFS(Level-order)

  栈和队列的概念

  遍历二叉树

  表达式求值

  使用数组表达完全二叉树 - 二叉堆

  寻找一组数中最大的k个数

  图的表达与遍历

  输电问题-图的最小生成树(Kruskal's Algorithm)

  另一种图的最小生成树算法(Prim's Algorithm)

  单源最短路 Dijkstra算法

  强连通子图 DAG以及Top Sort

  Hash函数和Hash表

  strStr(子字符串查找) - 使用rolling hash O(n)

  使用动态规划解决Fibonacci数列和背包问题

  Longest common subsequence 动态规划解法

  多源最短路Floyd算法


  想系统学习以上知识,请点击:数据结构与算法学习视频


C8.jpg


  Linux高级程序_IO操作_lock

  Linux高级程序_IO操作_dir


  想系统学习以上知识,请点击:Linux文件IO操作学习视频


C9.jpg


  Linux基础及操作系统框架

  Shell命令机制

  Linux应用程序安装及卸载

  Linux服务程序的安装及配置

  Vi的设计思想及使用


  想系统学习以上知识,请点击:linux操作系统基础学习视频


想了解更多?欢迎点击:嵌入式开发学习路线


1

登录 后参与讨论

没有更多评论了

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部