- 博客(52)
- 资源 (5)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linux文件系统挂载详解
在开发linux嵌入式项目时,经常会遇到同一块区域会被不同的程序使用,这会导致数据混乱发生不可预知的结果。因此需要对区域进行区别以避免冲突的发生。例如:/etc/log和/etc/plugin两个目录分别用来存放log和插件相关的东西,但它们都共用flash同一块区域,终于会互相影响。这里给出解决方案:在设备空间flash划分两块未分配的区域存放log和插件对于不同的flash或者不同厂商的设备,分配分式可能有差异,这里就不做具体说明。分配完之后区域还需要挂载之后才可以使用。文件系统挂载
2020-05-15 10:55:50
890
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 单链表的创建(带头结点以及不带头结点)
不带头结点#include "stdio.h"#include "stdlib.h"typedef struct List {int data; //数据域struct List *next; //指针域} List;List * HeadCreatList() //头插法建立链表,不带头结点 { List *s; //不用像尾插法一样生成一个终端节点。 List...
2018-11-05 16:57:19
18311
1
转载 Ubuntu下载地址
官方下载不支持迅雷,下载速度很慢官网:https://www.ubuntu.com/download/desktop没找到历史版本,且下载速度很慢在网易镜像站下载ubuntu:网址:http://mirrors.163.com/ubuntu-releases/
2021-07-26 13:53:28
294
原创 华为部分机试题目
促销活动#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;int main(){ string str; vector<string> vt; int index; string pre; int num; int count=0; while(ge...
2021-07-19 17:39:31
253
转载 2021-04-19
vector用法F132535248702020-03-06 13:54:4859收藏分类专栏:c++版权vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include<vector>;一、vector 的初始化:可以有五种方式,举例说明如下: (1) vector<int> a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。 ...
2021-04-19 12:58:24
201
原创 华为机试-查找两个字符串a,b中的最长公共子串
#include<iostream>#include<vector>#include<string>using namespace std;void display(vector<string>vt,int number,string str)//在短字符串中输出最先出现的最长子串{ int index; int min_value=10000000; int location; for(int i=0;i<vt...
2020-11-12 15:09:15
153
原创 华为机试-四则运算
#include<iostream>#include<stack>#include<string>using namespace std;string op="+-*/)]}";bool cmp(char ch1,char ch2){ if(ch1=='(') return false; else if((ch1=='+'||ch1=='-')&&(ch2=='*'||ch2=='/')) re...
2020-11-07 17:00:27
145
转载 回溯法
0-1背包问题:给定n种物品和一背包。物品i的重量是wi,其价值为pi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 分析:问题是n个物品中选择部分物品,可知,问题的解空间是子集树。比如物品数目n=3时,其解空间树如下图,边为1代表选择该物品,边为0代表不选择该物品。使用x[i]表示物品i是否放入背包,x[i]=0表示不放,x[i]=1表示放入。回溯搜索过程,如果来到了叶子节点,表示一条搜索路径结束,如果该路径上存在更优的解,则保存下来。如果不是叶子节点,是...
2020-11-03 14:29:31
2484
原创 华为机试-迷宫问题
本算法采用深度优先遍历思想(DFS),由于深度优先遍历迷宫可能会有多种结果,因此需要保存每次成功的路径,最后选择最短路径,代码如下:#include<iostream>#include<vector>using namespace std;vector<vector<int> >path;//保存迷宫路径vector<vector<int> >short_path;//保存最短迷宫路径int N,M;void dis..
2020-11-03 11:44:18
1290
原创 牛客网华为机试-合唱团
题目描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-1<Ti>Ti+1>......>TK。你的任务是,已知所有N位同学的身高,计算最少需要几位同学...
2020-10-21 15:45:05
2238
转载 Shell_Linux Shell 中实现字符串切割的几种方法
我们在shell 脚本编程中,经常需要用到字符串切割,即将字符串切割为一个数组,类似java 中的split 函数,下面对几种常见的方式做一个总结。参考文章:shell 使用指定的分割符来分割字符串https://blog.csdn.net/lw305080/article/details/78594011目录方法一: 利用shell 中 变量 的字符串替换 方法二: 设置分隔符,通过 IFS 变量方法三: 利用tr 指令实现字符替换 (!只能针对单个分隔符)...
2020-10-13 11:30:57
3055
原创 带头节点单链表操作
//带头结点#include<stdio.h>#include<stdlib.h>typedef struct node { int val; struct node *next;}listnode,*list;void createList1(list &head,int n)//头插法{ head=(listnode*)malloc(sizeof(listnode)); head->next=NULL; lis...
2020-09-23 17:42:58
140
原创 不带头结点单链表操作
编译环境DEVC++//不带头结点#include<stdio.h>#include<stdlib.h>typedef struct node { int val; struct node *next;}listnode,*list;void createList1(list &head,int n)//头插法{ head=NULL; listnode *p; for(int i=0;i<n;i++) {...
2020-09-23 16:25:31
169
转载 Suversion下载地址
Suversion下载地址收集:http://zh.sourceforge.jp/projects/sfnet_tortoisesvn/downloads/Application/1.6.6/TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msihttp://subversion.tigris.org/files/documents/15/46531/Setup-Subversion-1.6.5.msihttp://subclipse.tigris.org/fil
2020-09-16 10:08:19
111
原创 c++11 lock_guard用法
相比于mutex功能,lock_guard具有创建时加锁,析构时解锁的功能,类似于智能指针,为了防止在线程使用mutex加锁后异常退出导致死锁的问题,建议使用lock_guard代替mutex。下面利用代码演示功能:// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。////c++11 thread#include "stdafx.h"#include<thread>#include<mutex>#include<iostrea
2020-07-17 16:10:00
12114
原创 c++线程间通信
c++线程间通过PostThreadMessage和GetMessage函数进行通信,下面用代码演示两个线程间的通信:// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include <stdio.h>#include<windows.h>using namespace std;DWORD WINAPI ThreadFun1(LPVOID param);DWORD WINAPI ThreadFun2(LPVOID para
2020-07-17 10:22:01
1651
原创 多线程PV操作(生产者与消费者模型)
利用生产者与消费者模型演示P,V操作// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。////producer and consumer#include "stdafx.h"#include <stdio.h>#include<windows.h>#include<process.h>#include<queue>using namespace std;HANDLE hEvent1 = INVALI
2020-07-16 15:58:25
599
原创 C++利用event(事件)实现多线程
C++使用内核对象event事件)实现线程同步锁,当两个线程共同访问一个共享资源时,event可以只向一个线程授予访问权。下面的例子模拟了售票系统,定义了两个售票线程// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。////mutex#include "stdafx.h"#include <stdio.h>#include<windows.h>#include<process.h>void __cdecl thr.
2020-07-16 10:48:34
1090
原创 c++利用mutex(互斥量)实现多线程
C++使用内核对象互斥体(Mutex)实现线程同步锁,当两个线程共同访问一个共享资源时,Mutex可以只向一个线程授予访问权。下面的例子模拟了售票系统,定义了两个售票线程/// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。////mutex#include "stdafx.h"#include <stdio.h>#include<windows.h>#include<process.h>void __cdecl .
2020-07-16 09:29:33
769
原创 利用semaphore(信号量)实现多线程
以下代码用来演示semaphore控制多线程,停车场的车位数模拟semaphore对象数,汽车模拟线程:#include <stdio.h>#include<windows.h>struct Car { char name[20]; DWORD time;};DWORD WINAPI ThreadProc(LPVOID lpThreadParameter);HANDLE hSemaphore = INVALID_HANDLE_VALUE;int m...
2020-07-15 18:33:45
376
1
原创 C#初级学习
一、利用抽象类和虚方法实现多态抽象类主要通过定义抽象方法实现多态,下面比较抽象方法与虚方法的异同点1. 抽象类using System;namespace ShapeApplication{ abstract class Shape { abstract public void area();//抽象方法 } class circle:Shape { public override void area() ...
2020-07-08 10:51:26
178
原创 ubuntu shell编译打印/bin/sh: 1: [: Y: unexpected operator 错误问题
在ubuntu下执行shell脚本if [ $(CHIP_TYPE) == Y ]; 总打印/bin/sh: 1: [: Y: unexpected operator 错误原因在于ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.解决方法就是:1. 执行sudo dpkg-reconfigure dash 选NO将ubuntu 默认的shell 链接的dash 改成传统的 bash2.将“==”修改为“=”,因为在dash 中默认的 判断语句..
2020-06-24 17:40:47
1666
原创 ubuntu服务器创建用户并且分配磁盘空间
创建用户sudo adduser test //创建sudo adduser test sudo //给与新创建用户root权限(可选)sudo smbpasswd –a test //创建samba用户,可以方便windows访问为用户分配磁盘空间利用fdisk命令进行磁盘分区,以下是相关参数:Options:-b, --sector-size <size> physical and logical sector size-B, --protect-bo...
2020-06-11 14:31:22
5184
原创 利用FileZilla Server创建本地ftp server
配置FileZilla Server软件设置Host地址为127.0.0.1,port设置为14147,密码任意设置添加server用户,并设置密码选择共享的文件夹经过上面的步骤后,本地的ftp server搭建完毕。利用filezilla访问ftp server...
2020-06-10 17:47:18
530
原创 linux内核文件操作
这段时间在做linux c嵌入式项目时遇到在linux内核读写文件的问题。众所周知,在内核态,不可以使用譬如用户态下的fopen等函数。这里介绍两种方法:1.普通文件例如tmp目录下demo文件,即tmp/demo利用struct file* filp_open(const char* filename, int open_mode, int mode);参数说明filenam...
2020-04-17 13:34:23
417
转载 C语言数组的五种排序
冒泡排序快速排序选择排序插入排序归并排序冒泡排序冒泡排序的基本思想:不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较,就选出最大的数;经过第2轮比较,就选出次大的数,以此类推。对于具有N个元素的数组R[N],进行最多N-1轮比较;/*** 冒泡排序数组* @param int a[] 要排序的数组* @param int n 数组元素的个数**/vo...
2020-01-10 11:04:08
855
原创 ipv6访问samba服务器失败
问题来源:接触samba已经有一段时间了,前段时间遇到了ipv6访问samba服务器失败的问题,这个问题花费了时间挺长,现在将它记录下来。众所周知,samba源码编译后可以同时支持ipv4和ipv6访问,对于samba在ubuntu的下载与安装,可以参考我的博文(https://blog.csdn.net/u010990478/article/details/102581475),之所以会...
2019-10-29 17:29:37
6234
1
原创 ubuntu系统下samba编译与安装
本文参考了博文https://blog.csdn.net/skdev/article/details/51556726http://blog.chinaunix.net/uid-26527046-id-4338338.html一、samba 编译及安装首先在samba官网(https://www.samba.org/samba/download/)下载samba源码,这里给出sa...
2019-10-16 15:39:56
1977
转载 windows使用ipv6地址访问共享文件夹的方法
在IPV4的网络中,通常我们都是在开始-运行里面输入\\ip地址的方式来访问文件共享,但是这种方法在ipv6中的网络是行不通的,那么ipv6如何访问我们的windows共享呢?方法如下:在开始-运行,输入\\xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx.ipv6-literal.net 的方式可以访问共享文件夹,ipv6的地址格式在这里是不可以用冒号:的方式来...
2019-10-15 10:51:05
6352
1
原创 利用wireshark分析Voip语音RTP协议
由于工作需要,正在学习Voip语音方面的知识。原先以为电话两端声音有类似自然语言处理的过程,后来发现自己想多了。ip的网络电话Voip是通过RTP协议传输通话两端的声音。我们可以通过wireshark抓包软件获取RTP传输的语音信息,并且可以将语音进行还原和播放。具体操作如下:1. 打开wireshark软件,可以过滤出RTP数据包2.打开wireshark分析语音工具,操作为电...
2019-07-18 13:44:56
3139
原创 #ifdef与#if defined用法的区别
#ifdef和#if defined都可以用来判断单个宏是否被定义,而且由于#ifdef比较简洁,因而得到广泛的使用,那为啥还需要#if defined呢?对于多个宏判断,就必须使用#if defined功能了,例如#ifdef A &&#ifdef B上述这种定义方式是不正常的,而应该定义成#if ( defined A) && (defin...
2019-07-17 09:50:56
2705
转载 PPPoE过程分析
最近在学习PPPoE的相关知识,分享几个写的比较全面详细的博客:https://blog.csdn.net/u013688006/article/details/88913891https://blog.csdn.net/yipie/article/details/46575443
2019-07-01 09:48:02
239
转载 IP地址获取-PPPoE&DHCP
PC获取IP地址的方式有3种,手工配置、PPPoE获取、DHCP获取。PPPoE应用较多PPPoE拨号包括PPPoE Discovery、PPPoE Session、PPPoE Terminate三个阶段。PPPoE Discovery(1)client广播发送PADI寻找server;(2)server收到PADI后(得到了client的MAC地址),单播向client回P...
2019-07-01 09:13:25
4119
原创 在notepad++每行首尾添加字符
在使用notepad++处理数据时,我们会遇到需要在notepad++每行首尾添加字符,如果行数不多,可以自己手动的去添加。但如果达到了成百上千行,此时在机械的手动添加是不现实的。notepad++其实提供了正则表达式的操作方式,不懂正则表达式特殊字符的朋友可以参考我的另一个博文https://blog.csdn.net/u010990478/article/details/84953277...
2019-06-10 16:42:25
18249
原创 C语言计时函数gettimeofday()
头文件:sys/time.h函数原型:int gettimeofday(struct timeval *tv,struct timezone *tz);说明:其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果(若不使用则传入NULL即可)。timeval的定义为:structtimeval{ longtv_sec;//秒数 long...
2019-05-28 16:51:52
7859
转载 SIP概括
会话初始协议(Session Initiation Protocal, SIP)。SIP是一个应用层的信令控制协议,主要目的是在 IP 网络中建立、修改和释放多媒体会话的应用层协议。其主要的应用包括但不局限于语音、消息、视频、呼叫控制等。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。SIP的业务模式是一个点对点协议,其中有两个要素——SI...
2019-05-24 14:54:14
876
转载 SIP的几个主要标准协议
SIP的几个主要标准协议SIP文档和标准协议。SIP的标准协议都是IETF制定的,所以SIP的标准协议都是通过RFCXXXX的方式来公布的,每个协议均制定了一些SIP的特性。我研究了一些,将自己目前认为几个比较主要的SIP协议记录下来。因为没有涉及SDP和加密,所以和这两块相关的协议没有做过多的研究。RFC3261:SIP的基本协议,定义了SIP的基本功能,特性等。要搞SIP的话,这个协议...
2019-05-21 09:31:14
2784
原创 正则表达式特殊字符的含义
正则表达式是一种文本处理强有力的工具。但同时也定义复杂的规则,下面主要解释正则表达式特殊字符的含义。正则表达式的特殊字符主要包括".^$()*+?{}[]\|"(1) .是单字符的通配符(2) ^匹配行的开头(3) $匹配行的末尾(4) ()定义一个正则表达式匹配子元素(5) *表示前面字符可以出现任意多次(n>=0)(6) +表示前面字符至少出现一次(n>...
2018-12-11 13:09:04
2370
转载 编译错误error: invalid storage class
编译错误error: invalid storage class2013年02月01日 09:54:41阅读数:5809昨天遇到一个莫名其妙的编译错误,以前没有见过,而且代码流程看起来也没有太多的奇异之处。后来忍无可忍,百度了下,发现别人也有遇到这个错误的,他的解决方法是:少了“}”。嘿嘿,我开始跟踪每一个函数,终于找到了这个地方。对的。就是因为少了一个“}”。所以要注意了,仔细仔细哈。下面就是m...
2018-06-19 09:25:41
15524
3
Install_Win7_7129_02202020.zip
2020-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人