自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 sed处理文件-在指定关键字的行首 增加/删除.c文件的“//“(删除依赖增加)

Win下执行shell脚本,可以安装一个git删除之前要先做增加操作,原因:增加时会临时生成.line文件用于记录修改的行,删除操作则只恢复本次修改的行附:测试脚本包,执行Noteadd.sh后,生成.line文件,对比.c与.bak文件即能观察出修改结果,再执行Notedel.sh则恢复.c文件同时删除.line临时文件增加"//"脚本:#/bin/bashSIG1=MLSWriteLogSIG2=MLDumpBuf#find -type f -name "*.c*".

2020-08-03 11:23:07 466

原创 Ubuntu10.04中编译openssl遇到的问题与解决

写在前面:仅解决遇到的两个问题,安装即配置过程自行查询,推荐:传送门root@est-desktop:/home/est/ACE_wrappers# uname -aLinux est-desktop 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:09:38 UTC 2010 x86_64 GNU/Linux遇到的问题1:openssl编译出错:/usr/local/bin/perl bn_prime.pl >bn_prime

2020-06-10 09:01:50 1128

原创 Sqlite3小结(小型数据库中增删改查的操作)

说一点:学习的话还是要用印象笔记~没有为什么~:数据库浅学一、数据库简介1、数据库简介    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。    在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。  ...

2018-11-22 16:31:32 35571 7

原创 网络编程 第四天 (服务器&套接字&广播)

//注意:本文中服务器模型统一以TCP协议为准一、服务器模型    在网络通信过程中,服务器端通常需要同时处理多个客户端。由于多个客户端的请求到来的时间不尽相同,服务器端需要处理不同时刻到来的客户端信息。总体上来说,服务器端大致可以使用两种模型来实现:循环服务器与并发服务器。    循环服务器模型处理的手段为“轮询”。当有多个客户端访问服务器时,服务器会按队列顺序依次处理每个客户端的请...

2018-11-14 20:06:27 1234

原创 关于第一次面试总结(嵌入式软件开发工程师)

第一次面试总结首先,笔试:一、问死锁是什么,死锁的原因有哪些?死锁的四个必要条件是神马?如何解开死锁?死锁: 指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。死锁的原因有两个:a. 竞争资源系统中的资源可以分为两类:(1)可剥夺资源,是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺,CPU...

2018-11-08 20:35:20 38188 10

原创 网络编程 第三天 (UDP编程&IO模型)

    使用UDP协议通信时服务器端与客户端无需提前建立连接,只需要知道对方的套接字地址信息就可以发送数据。服务器端只需创建一个套接字用于接收不同客户发来的请求,经过处理即可通信。    由于没有事先建立连接,因此使用UDP协议通信时无法保证数据是否成功接收,因此,若需要保证数据可靠性,则不要使用UDP通信。一、UDP编程——服务器端使用UDP通信的服务器端的编程流程如下:如果...

2018-11-02 14:01:46 1381

原创 网络编程 第二天 (TCP编程)

印象笔记连接:网络编程 第二天 (TCP编程)在网络应用程序编程时,服务器与客户机的运行逻辑不同,因此服务器端与客户端的代码也不同。一、TCP编程——服务器端使用TCP通信的服务器端的编程流程如下:如果需要使用TCP协议创建一个服务器,则需要以下步骤:    -创建套接字    -绑定套接字    -设定监听模式    -接收客户机的连接请求    -接收/...

2018-10-15 20:15:26 1185

原创 网络编程 第一天 (OSI & TCP/IP分类)

一、互联网发展简史    计算机网络是计算机技术和通信技术相结合的产物。自1946年第一台电子计算机ENIVAC问世以来,人们的计算方式也发生了根本改变。从不使用计算机,到使用计算机辅助计算,再到计算机全权计算;从多人通过终端使用一台计算机,到每人一台计算机,再到通过网络连接多台计算机……从计算机网络的演变历史来看,计算机网络历经了4个发展阶段:    1.具有通信功能的联机系统,即终...

2018-10-11 20:58:48 1877 1

原创 进程 第四天(进程间通信)

印象笔记:进程 第四天(进程间通信)一,进程间通信简介    由于每个进程都有自己独立的运行环境,因此进程与进程间是相对封闭的。如何让两个封闭的进程之间实现数据通信是进程编程的重点与难点。Linux的内的进程通信机制基本来源于Unix的系统对Unix的发展做出巨大贡献的两大主力--AT&T公司的贝尔实验室和加州大学伯克利分校 - 。在进程通信领域研究的侧重点不同。    贝尔实验室...

2018-09-02 07:50:13 1397

原创 进程 第三天 (线程&线程间通信)

印象笔记:进程 第三天 (线程&线程间通信)一、线程简介1、线程的基本概念    通过之前的学习我们知道,进程是系统中资源执行和资源分配的最小单位。每个进程都有自己独立的数据区、代码区、堆栈区等,这就造成了当进程切换时,操作系统需要额外的操作来清空旧区域、分配新区域,进程在进行切换时的系统开销比较大。为了提高效率,绝大多数操作系统都提供了一种“轻量化进程”的概念,这就是线程...

2018-08-14 19:59:21 1508

原创 进程 第二天 (fork函数&子进程与父进程&守护进程)

详细标注:进程 第二天 (fork函数&子进程与父进程&守护进程)一、fork()函数在Linux系统内,创建子进程的方法是使用系统调用fork()函数。fork()函数是Linux系统内一个非常重要的函数,它与我们之前学过的函数有一个显著的区别:fork()函数调用一次却会得到两个返回值。fork()函数的用法:    函数fork()    所需头文件:#i...

2018-08-13 20:37:20 32507 8

原创 进程 第一天....概念

一、Linux多任务机制1、多任务机制简介    多任务处理指的是用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为“任务”。相比于单任务的操作系统(例如早期的MS-DOS),当代绝大多数操作系统都支持多任务,功能增强了很多。    但是,CPU(每个核心)在某一时刻只能执行一个任务,因此多任务操作系统必须解决CPU核心(单任务线性)与操作系统的任务(多任务并行)之间的...

2018-08-09 20:07:30 1149 1

原创 文件IO 第三天 (静态库&动态库)

印象笔记:文件IO 第三天 (静态库&动态库)一、获取文件属性(选学)我们可以使用stat()/fstat()/lstat()函数来获取某个文件的属性信息。    注意:stat既是Linux系统的用于查看文件属性的指令,又是在编程过程中可以使用的一个获取文件属性信息的函数。    其中stat()函数可以根据文件名(可带路径)获取文件的属性信息;fstat()函数可以根据...

2018-08-08 21:42:05 855

原创 文件IO 第二天 (文件IO)

一、Linux文件I/O概述1、POSIX规范    POSIX(Portable Operating System Interface,可移植操作系统接口规范)标准最初由IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会,是目前最大的全球性非营利性专业技术学会)制定,目的是提高UNIX环境下程序的可移植性。通...

2018-08-07 21:05:41 1137

原创 文件IO 第一天(标准IO)

一、文件与文件类型1、文件定义    定义:文件(File)是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。    文件名:这个数据有序序列集合(文件)的名称。2、文件的分类    文件由许多种,运行的方式也各有不同。在Windows中,我们是通过文件的后缀名来对文...

2018-08-06 21:40:23 11243 1

原创 数据结构小小小项目:简易通讯录

项目描述:编写简易通讯录,要求使用“链表”这种存储结构,并附带相关操作。 需要功能:1、使用链表存储联系人的相关信息,包括姓名、性别、电话号码、注释等,链表形式不限(推荐使用单链表,推荐事先准备一些数据)2、有输出通讯录全部信息的功能3、有清空通讯录的功能4、有用户交互界面5、有插入新联系人信息的功能6、有查找联系人的功能,包括“按姓名查找”和“按电话号查找”两...

2018-08-05 21:03:16 1741

原创 数据结构 第五天 (查找&排序)

查找一、查找概论    各位都用过搜索引擎。搜索引擎的大概工作原理就是利用网络“爬虫”抓取并复制网页,并且可以通过该网页的链接来抓取更多的网页。那么,搜索引擎的是通过什么来抓取网页的呢?就是通过“关键字”来识别网页并抓取网页的。 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表(Search Table)是由同...

2018-08-05 20:50:51 491

原创 数据结构 第四天 (树#二叉树)

树与二叉树一、树的定义:1、定义:树(Tree)是n(n>=0)个节点的有限集,n=0时称为“空树”。在任意一棵非空树中:    ⒈有且仅有一个特定的称为根(root)的节点。    ⒉当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1、T2……Tm,其中每一个集合本身又是一棵树,并且称之为根的子树(SubTree)。注意:    ⒈n>0...

2018-08-03 19:23:34 296

原创 数据结构 第三天 (栈&队列)

栈:一、栈的定义     定义:栈(stack):栈是限定仅在表的一端进行插入或删除操作的线性表。我们把允许插入和删除操作的一端称为栈顶(top),另一端称为栈底(bottom)。不含任何数据元素的栈称为空栈。栈又称为“后进先出(Last In First Out,简称LIFO)的线性表”,简称为LIFO结构。栈的插入操作,称为进栈/入栈/压栈。栈的删除操作,称为出栈/弹栈。...

2018-07-31 18:50:06 437

原创 数据结构 第二天 (线性表【顺序存储&链式存储】)

线性表:一、线性表定义:1、线性表的定义定义:线性表(List):零个或多个数据元素的有限序列。注意:    1)线性表是一个序列。也就是说,线性表的元素之间是有序的。若元素存在多个,对于其中一个元素来说,它前面的元素叫前驱,后面的元素叫后继。第一个元素无前驱,最后一个元素无后继,中间的元素只有一个前驱,一个后继。    2)线性表是有限的。事实上,在计算机科学领域,我们只...

2018-07-30 20:32:05 473

原创 数据结构 第一天(数据三要素&大O记法)

数据结构绪论一、数据结构起源    早期人们把计算机作为数值计算工具,就是说,人们认为计算机只能进行数据计算。因此为了解决问题,需要先从具体问题中抽象出一个适当的数据模型,设计出一个解决该模型的算法,然后再编写程序,得到一个实际的软件。    可现实生活中,人们更多的不是解决数值计算的问题,而是需要一些更科学有效的手段(比如表格、索引等)的帮助,才能更好的解决问题。所以,数据结构是...

2018-07-29 18:48:26 851

原创 Linux C语言高级学习第八天(gcc代码优化&makefile)

多个.c文件的混合编译1.gcc    C语言编译器gcc xxx.c -o xxx    -o :指定生成产物的名称免费、开源、速度快(快30%)、占用内存小、gcc代码优化gcc支持对代码进行三级优化O0    不优化O1    一级优化O2    二级优化(常用)gcc xxx.c -O2 -o xxxO3    三级优化2.gdb(非重点) ...

2018-07-28 18:27:20 806

原创 Linux C语言高级学习第七天(结构体)

结构体struct1.声明结构体struct 结构体名{        成员表列;};#include<stdio.h>struct data{ int year; int month; int day;}; //一定记得这个 ;分号在声明结构体时,允许嵌套结构体(上文声明过的结构...

2018-07-25 18:40:31 276

原创 Linux C语言高级学习第六天(指针初高级)

一、指针操作数组(通过指针操作数组中的元素)1.一维数组int a[10];int *p;p = &a[0];//或者 p = a;*(p+i); //-->a[i];*p++;    <==>    *(p+i);p在变化,输入结束后p指向了数组最后;    <==>    p没有变化,输入结束也在数组开头;*p++;如何运...

2018-07-24 18:35:56 732

原创 Linux C语言高级学习第五天(递归&指针)

递归:函数允许自己调用自己5号:4号+2岁;4号:3号+2岁;……1号:10岁。#include<stdio.h>//age(n)=age(n-1)+2;(n>=2)//age(n)=10;(n=1)int age(int n) { if(n==1) return 10; else ...

2018-07-23 17:55:57 838

转载 getc();fgetc();getchar();gets();fgets();

函数头文件:#include <stdio.h>函数原型:int fgetc(FILE *stream);char *fgets(char *s, int size, FILE *stream);int getc(FILE *stream);int getchar(void);char *gets(char *s);函数说明:fgetc() :从读取文件流中读取...

2018-07-21 09:18:50 1062

原创 Linux C语言高级学习第四天(C高级-函数)

函数(very重点)一、概念        一段用来执行某个功能的代码-->给你一个值,你处理完之后,再给我一个值。※编写代码时,一定要清楚你需要实现的功能是什么?针对于功能设计出函数。二、为什么要使用函数1)避免使主函数main()变得复杂,逻辑混乱2)避免程序冗长、不精炼;3)如果需要多次实现某些功能,不使用函数的话则需要重复的话工作量大--->模块...

2018-07-20 22:59:15 1283

原创 Linux C语言高级学习第三天(Shell编程)

Shell的作用:答:对内保护内核,对外给用户提供一个访问的窗口编程语言的分类:1.面向对象;面向过程2.编译型编程语言;解释型编程语言(今天要讲的)--->分清:代码、程序、进程         用编译器            用解释器            -->产生可运行的程序编译型: 需要编译器 对代码进行整体检查。如果代码中间有语法错误...

2018-07-19 19:46:45 726

原创 Linux C语言高级学习第二天(文件系统&Linux网络)

    接着昨天:tar :解压        -zxvf :解压        -zcvf :压缩which:定位某个命令的存储位置ps:报告当前进程的信息(静态的)                   -A或-e :报告所有进程        -a :显示现行终端下的所有程序        -x :不区分top : 动态的进程报告PS信号的三种处...

2018-07-18 20:12:27 461

原创 Linux C语言高级学习第一天(Linux操作系统与操作)

Linux系统&C语言高级(3+5)天Linux系统        操作系统的发展简史(命令行交互-->鼠标交互-->触摸屏交互-->语音交互)        内核               :7个组件        shell            shell命令                通配符                ...

2018-07-17 19:19:53 6464

原创 Linux C学习第六天(数组)

//一维数组:#include<stdio.h>int main(int argc, char *argv[]){ /* ******************************************************* * * 啥是数组 * int a[4]; * 怎么用 * 定义 * 初始化...

2018-07-16 18:30:57 234

原创 Linux C学习第五天(控制语句)

if-elseV1.#include<stdio.h>int main(int argc, char *argv[]){    int a;    scanf("%d", &a);    if (a>80)    {        if (a>100)        {            printf("erro\n");        }        if ...

2018-07-13 19:47:30 182

原创 Linux C学习第四天(输入&输出)

输入&输出一、输出1.格式    printf("%d",x);    printf("*****");十进制整数: %d八进制:        %o-->八进制打印 || %#o    表示打印时加入前缀#o十六进制:    %x-->十六进制打印 || %#x    表示打印时加入前缀#x浮点型:        %f%c    %ld……详细可以参考:https://blo...

2018-07-12 19:31:38 384

原创 Linux C 学习第三天(类型转换&运算符)

类型转换:1.自动转换:运算过程中,运算符两边类型不相同就会自动转成较大的类型进行运算.2.赋值转换:赋值运算的过程中产生的转换,=号左右两边的类型不相同,则发生转换.char int float doublechar <-->intint --> char 4B -->1Bchar类型只有一个字节,int有四个字节,赋值时直接将int的内存的低一个字节截断给char 变量...

2018-07-11 18:59:16 483

原创 Linux C 学习第二天(VIM的基本操作&C语言基本语法)

命令:熟悉linux系统使用vim 和 geditsudo /etc/apt/sourlist.list C, 使用linux→写代码→编译→运行编辑器:vim 复制 移动 粘贴 、 写代码 、     保存       命令模式        编写模式      底行模式vim test.c        //使用VIM打开文件text.c 文件 i   ...

2018-07-10 17:20:42 1009

原创 Linux C学习第一天(terminal 的基本使用)

/* ************************ ** 云笔记,word* 截图* 画图* Notepad++* ************************* */终端:ubuntu自带终端terminal终端提示符:fs@ubuntu:~$-->更改的指令为:PS1='\wԅ(¯﹃¯ԅ)'用户名@主机名:目录$whoami                //字面意思,我是谁wh...

2018-07-09 18:31:24 1750

C经典100题

经典C语言程序设计100例1-10 程序11】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月     后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 2.程序源代码: main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++)   { printf("ld ld",f1,f2);     if(i%2==0) printf("\n");/*控制输出,每行四个*/     f1=f1+f2; /*前两个月加起来赋值给第三个月*/     f2=f1+f2; /*前两个月加起来赋值给第三个月*/   } }

2018-07-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除