![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式学习
文章平均质量分 55
keep_hardworking
勤能补拙,孰能生巧
展开
-
嵌入式学习3(Linux常用shell命令下)
4、用户和组群管理注:普通用户都在/home目录下 root在/root目录下用户Ø who am i:查看当前用户Ø who:查看当前有多少用户在使用资源Ø cd /home;ls :查看有多少用户Ø useradd mmm:增加用户mmmØ passwd mmm:设置或更改用户密码(无密码用户无法登录)Ø userdel mmm:删原创 2017-07-10 17:12:21 · 369 阅读 · 0 评论 -
嵌入式学习18(C++)
C语言:面向过程的高级语言 C++:面向对象的高级语言。基于C语言发展出的C语言与C++的区别 1、 后缀: .c .cpp 头文件: stdio.h iostream !!头文件没有.h,输出对象 编译器:gcc默认编译C语言的文件 g++编译C++语言的文件或gcc –lstdc++ 2、作用域: 作用域::内容(默认作用域为全局)3原创 2017-08-02 18:49:28 · 202 阅读 · 0 评论 -
嵌入式学习13(C语言字符串,Linux下清除缓冲区)
字符串1、字符串(String):串字符,即若干个字符构成的一个序列Ø C语言中没有字符串类型,只能用字符数组表示字符串,为了方便对字符串的处理,C语言提供了很多简化写法Ø C语言规定,一个合法的字符串的最后一个字符必须为'\0',即'\0'为字符串结束标志2、字符数组:数组中元素的是字符类型1)逐个赋值:注意手动加’\0’ char ch[6];原创 2017-07-21 15:42:04 · 596 阅读 · 0 评论 -
嵌入式学习14(数据结构开篇:结构体,栈)
Talk is cheap,show me the code. 结构体#include <stdio.h>struct student//定义一个新的类型(分配空间的模板){ int id; char name[10]; char addr[100]; short c_sore;};typede原创 2017-07-25 18:41:45 · 585 阅读 · 0 评论 -
嵌入式学习15(队列)
1、队列:先进先出FIFO 2、数据模型: struct queue { 数据容器[队列长度]; rear;//队尾 front;//队头 }; 3、功能: 1、初始化initQueue() 2、进队 EnQueue() 3、出队 DeQueue() 4、判断队为空 i原创 2017-07-26 19:55:04 · 957 阅读 · 0 评论 -
嵌入式学习19(类的嵌套实现)
对象变作为成员变量时 只能由构造函数的初始化列表初始化 如果不显示去初始化成员对象,则系统默认添加无参构造方法。如果显示的调用构造函数,则调用函构造函数由形参列来匹配调用 student::student():s() –调用s的无参构造函数 student::student(int id,const char* name,int c=0,int e=0,int m=0):id(id原创 2017-08-04 20:09:21 · 223 阅读 · 0 评论 -
嵌入式学习16(文件IO)
精髓:把文件当屏幕 一、引入文件:有限数据的集合txt文档:有限文本的集合exe程序:有限指令的集合内存:一旦电脑关机,内存会被清空文件:为了长期保存信息,一般文件存储在外存(U盘,光盘,硬盘等) 文件的构成:位置+存储空间文件的划分:Ø 文本文件:文件的数据都是以对应字符的ASCII值存到硬盘中eg:文件(ABC) 在内存中[010000001]原创 2017-07-27 20:10:05 · 389 阅读 · 0 评论 -
嵌入式学习22(C++重载运算符 上)
1、 引入:运算符只能识别基本类型(整型,浮点型,字符类型),不能识别复杂类型 特点:重载运算符时,不会改变运算的顺序。(操作数与被操作的顺序不会改变)不会改变结合性。不会改变运算的优先级(与C语言中运算符优先一致) 1+2+3+4 ia+ib+ic+id不会改运算符的特性。如下运算是不能重载的: . -> sizoef :: ? : (已经在C++/C原创 2017-08-12 10:12:47 · 192 阅读 · 0 评论 -
嵌入式学习23(C++重载运算符 下)
这篇主要介绍 重载(= ++ –)#include<iostream>#include<stdio.h>#include<string>using namespace std;//对象复制:调用拷贝构造(在对象实例化时复制另一对象的内容)//对象赋值:调用重载=运算符(两个对象已经生成,并互相赋值)class object{ public: object(int原创 2017-08-12 10:16:46 · 185 阅读 · 0 评论 -
嵌入式学习24(静态库,动态库)
1、函数执行条件:声明+定义(链接函数体使之成为程序一部分),才能使用这个函数2、概念 静态库:成为可执行文件的一部分(在链接时,编译器将此库链接成程序的一部分) 拷贝一份进来 优点:不会因此库文件的丢失而运行失败 缺点:维护与更新困难。 动态库:需要的时候导入。(当此程序需要某个模块时,系统此时才会将此程序导入到内存,并调用此函数。当原创 2017-08-14 19:47:48 · 445 阅读 · 0 评论 -
嵌入式学习26(数据结构 树)
**树**树:是n(n>=0)个节点的有限集合(n=0称为空树)。在任意一颗非空树中,(n=1)有且仅有一个特定的节点称为根节点,n>1时,其余节点(非根节点)可分为y个互不相交的有限集。 节点分类: 节点的度:每个节点拥有的子节点的个数 叶子节点:没有孩子的节点(度为0) 数的度:最大节点度 节点的关系: 孩子节点:节点的子树 双亲节点:相应拥有孩子的节点原创 2017-08-15 17:46:58 · 285 阅读 · 0 评论 -
exec族函数
exec族函数,运行程序,产生进程(路径+参数+[环境变量]) 注意:exec族函数并不会创建一个新进程,而是将当前进程的地址空间替换为新程序。 int execl(const char *path, const char *arg, …);//参数1必须绝对路径 int execlp(const char *file, const char *arg, …);//参数1可为文件名,当要保证其原创 2017-09-04 16:20:49 · 194 阅读 · 0 评论 -
进程间通信
通信方式: 1.单工通信 2.半双工通信 3.全双工通信IPC(Inter-Process Communication):进程间通信 原因:每个进程都拥有自己独立的私有地址空间,相互之间不能访问。实现方法: 1、信号(signal) 2、管道(无名管道、有名管道) 3、共享内存 4、消息队列 5、网络通信原创 2017-09-04 17:25:55 · 181 阅读 · 0 评论 -
嵌入式学习28(linux系统函数之文件、文件夹管理相关函数)
步入linux系统函数的学习了,随时随地都要man一下,忌死记。linux系统调用:即linux操作系统提供的函数,只能用于linux。 命令就是一些函数 1)文件系统管理相关的系统调用 文件相关操作 file:存放在外存设备上的一堆数据(内存和外存的交互,外存数据存取慢) 普通文件操作:(open read write lseek close) 辅助函数(stat chmod原创 2017-08-27 14:32:29 · 273 阅读 · 0 评论 -
嵌入式学习29(自实现ls -l)
我们已经会遍历文件夹,并会用stat获得文件夹中个文件的信息了,那么如何将其转化为,ll命令下我们能很方便识别的内容呢。 首先要了解stat的的成员st_mode,它是一个6位八进制数,也就是一个18位的二进制数。 (相应位置1代表有相应权限) 000000 000原创 2017-08-27 14:58:39 · 372 阅读 · 0 评论 -
嵌入式学习27(C++键值对)
感觉这个功能很强大啊,可以很方便的把事物归类存储和依类查询。 感觉讲也讲不清楚,就直接上相关用法的代码啦~ 基于这个知识,老师带着我们又做了一个简单通讯录的项目。 有兴趣的可以看我的下一篇博客。#include<iostream>#include<map>using namespace std;int main(){ map<int,string> kv;//实例化,指定类型原创 2017-08-16 19:20:55 · 1014 阅读 · 0 评论 -
嵌入式学习21(C++继承)
1、实现方法(class 派生:派生方式 父类1,派生方式 父类2…….) class A { }; class B:public A …… { };A称为父类(基类) B称为子类(派生类)2、派生方式:公有派生,保护派生,私有派生 C++不会选择继承,而是全部继承(除了构造函数和析构函数),只是引用受限 公有派生:父类公有(子类公有) 私有(私有) 保护(保护) 保护派生:父原创 2017-08-08 18:59:20 · 217 阅读 · 0 评论 -
嵌入式学习20(可变形参)
这几天,嗯,老师讲了很多重载运算符。然后,最开始的一节课状态不是很好,就一直没有跟上。然后就一直没有更新了,我我我,保证以后会补上的,所以先把今天学的这个写一写。为了在程序中获取个数可变的参数,需要使用如下关键字: va_list:用于定义指向可变参数列表的指针变量 va_start:该函数指定开始处理可变形惨的列表,并让指针变量指向可变形参列表的第一个参数 va_end:结束处理可变形参,释原创 2017-08-08 18:36:39 · 208 阅读 · 0 评论 -
嵌入式学习4(Linux其他常识)
大家跟我一起念十遍:我爱学习,我爱学习,我爱学习..........Linux 其他常识1、 Linux七大文件类型:- :普通文件d :目录文件l :链接文件p :管道文件s :套接字文件c :字符设备文件(用0/1表示不同状态)b :块设备文件(传数据)2、根目录下的不同目录存放不同类别的文件home:普通用户目录root:root用户目录b原创 2017-07-11 19:59:17 · 219 阅读 · 0 评论 -
嵌入式学习1(Linux)
嵌入式方向: 第一阶段:C、C++、数据结构第二阶段:网络通信、Qt图形第三阶段:驱动程序开发(Bootloader程序,嵌入式Linux系统内核裁剪和移植,裸机驱动,基于嵌入式Linux/Android系统的驱动开发)最终目标:应用程序开发,驱动程序开发文件共享的方式:1、共享文件夹2、FTP服务端+客户端(浏览器自带FTP客户端,在浏览器或者资源管理器(我原创 2017-07-07 22:14:48 · 386 阅读 · 0 评论 -
嵌入式学习6(C语言运算符及控制语句)
这几天都是C语言基础学习,因为本来学过也看过一些书,所以上课没那么认真,笔记也是跳着记录了,下面是我觉得这部分内容比较值得注意的地方6、进制(几进制就逢级几进一)三位二进制表一位八进制四位二进制表一位十六进制printf中:十进制:%d %i 十六进制:%x八进制: %o 木有二进制 7、运算符:(记优先级) 四舍六入五单进Ø 位运算 &原创 2017-07-13 19:06:38 · 365 阅读 · 0 评论 -
嵌入式学习7(time()函数的两种用法)
//time_ttime(time_t *timer) 日历时间,从1970年1月1日0时0分到现在的秒数1、计算并显示本地时间#include#includevoid main(){ int hour,min,sec; int time_now; while(1) { time_now=time(N原创 2017-07-14 17:16:51 · 840 阅读 · 0 评论 -
嵌入式学习8(scanf函数的注意事项)
scanf1、 一条语句对多个变量复制Ø 注意用户的输入要与设定一致如果为scanf("%c%c%c"),那么输入的时候就必须连续输入3个字符,中间不能有任何空格逗号或者回车符等分开如果是scanf("%c,%c,%c"),那么输入3个字符的时候中间就必须用一个逗号分隔。Ø scanf("%d%c%d",&a,&f,&b)当类型有区别时,系统会自动区别,即输入1+2再回车时原创 2017-07-15 15:43:11 · 683 阅读 · 0 评论 -
嵌入式学习(前言)
转眼就大三下了,整个大学乖乖女一枚,积极参加各种学生组织,拿奖学金,考过驾照、四六级、计算机二三级。但是面临九月份的找工作,还是很慌张,关键在于自己觉得整个大学读下来,没有学到真正有用,真正能养活自己的知识。于是,慎重考虑后报了培训班,整个班二三十人,我是唯一的女生,嗯。女生也能撑起一片天,女生加油! 培训班的老师(DJ),哇,超喜欢,技术厉害是一方面,更重要的是他身上那股对自己行业原创 2017-07-07 22:26:57 · 443 阅读 · 2 评论 -
嵌入式学习2(Linux常用shell命令上)
命令那么·多,记住常用命令和参数就OK啦~Linux使用方式:1、桌面环境操作(GNOME桌面环境、KDE软件编译):傻瓜化,直观,功能不够强大,其操作效率很低甚至有些操作无法完成,Linux桌面环境并不是内核的一部分,相当于一个应用程序2、Shell命令:专业高效,但非常不直观友好,学习难度大,需要记忆命令[dj@softteen]$ ls -l[用户名@主机名]$命令字原创 2017-07-08 21:35:16 · 344 阅读 · 0 评论 -
嵌入式学习9(Linux gcc gdb mkfile)
GCC编译器源文件-》预处理-》编译-》汇编-》链接-》可执行文件预处理(–E):处理以#开头的语句,如#include #define 等,产生一个*.i的文件。gcc -E -o zmx.i zmx.c 等价于 gcc zmx.c –E –o zmx.i 预编译(–S):检查语法错误,无误后,把代码翻译成汇编语言,产生*.s文件原创 2017-07-17 16:53:15 · 350 阅读 · 0 评论 -
GDB调试
用 GDB 调试程序GDB 概述————GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。一般来说, GDB 主要帮忙你完成转载 2017-07-17 18:44:50 · 332 阅读 · 0 评论 -
嵌入式学习5(C语言基础)
从今天开始就步入C语言的学习啦,从头开始,零基础也不慌1、 标识符:函数名、变量名等。由字母数字下划线组成,不能以数字开头,不能与关键字重名。 2、C语言关键字:32个 数据类型:char int double float signed unsigned long short 循环:if else do while for break continue ex原创 2017-07-12 17:38:45 · 569 阅读 · 0 评论 -
嵌入式学习10(C语言五大内存区间,变量的作用域和生存期,变量的存储类型)
今天又是元气满满的一天C语言的五大内存区间1、 栈区(stack):函数的形参和局部变量,先入后出,由编译器自动分配,自动释放2、 堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它和数据结构中的堆是两回事,分配方式类似与链表(malloc---free ;new—delete)3、 全局区(静态区)(static):全局变量和静态变量是原创 2017-07-18 16:16:36 · 779 阅读 · 0 评论 -
嵌入式学习12(数组,指针,指针与数组)
数组1、数组的定义:数据类型相同,连续存储的元素的集合。特点:从0开始,可下标引用2、 初始化方式有两种Ø int a[5]={1,2,3};//未赋值的自动补零 //一次结清int a[]={1,3,5,8};//此情况下可省a[2][2]= {{1,2},{3}}; 等效于 a[][2]={{1,2},{3}}; //可省第一维Ø i原创 2017-07-21 09:20:14 · 506 阅读 · 0 评论 -
嵌入式学习17(单链表)
#include <stdio.h>#include <stdbool.h>#include <stdlib.h>typedef int DataType;struct Node{ DataType data; struct Node* next;};typedef struct Node Link,*pLink; //变量//指针变量原创 2017-07-31 17:42:35 · 299 阅读 · 0 评论 -
嵌入式学习11(C语言预处理与宏)
1、预处理(4个):文件包含,宏替换(普通宏,带参数的宏,条件编译)2、.h文件一般包含:1)包含标准库、连接库、用户自定义的库(include) 2)函数声明 3)变量的定义(外部变量,全局变量) 4)宏 5)类型重写原创 2017-07-19 19:22:01 · 386 阅读 · 0 评论 -
C语言调用数据库
#include <stdio.h>#include <string.h>#include <mysql.h>int main(){//1、连接服务器 MYSQL mysql; mysql_init(&mysql); if (!mysql_real_connect(&mysql,"128.0.47.135","dengjun123","abc123","school原创 2017-09-26 16:14:49 · 6651 阅读 · 0 评论