- 博客(43)
- 收藏
- 关注
原创 哈佛机构与冯诺依曼架构
代码:函数数据:变量(全局,局部)1、哈佛架构数据和代码分开存放。例如在单片机中,程序被烧写到flash中,然后程序在flash中原地运行,程序中所涉及到的数据不能放在flash中,必须放到SRAM中运行,所以这种哈佛架构。2、冯诺依曼架构数据和代码放在一起。例如运行Linux的I.MX6ULL,运行应用程序时,所有的应用程序代码和数据都在DRAM上,所以这种冯诺依曼架构。...
2022-05-27 12:47:41
527
原创 2021荣耀秋招笔试代码题
输入描述:一个ASCII字符串,该字符串没有顺序,字符可以重复,输入字符串的长度<=30。输出描述:一个新的字符串,该字符串中字符在输入字符串中只出现一次,且该新字符串按照ASCII码从小到大的顺序排列。如果输入字符串中字符出现的次数都是大于1,则无需输出。示例1:输入:efghabcd1234efgh输出:1234efgh贴一下自己的代码,仅供参考,不一定准确。#include <bits/stdc++.h>using namespace
2022-03-20 14:10:30
816
原创 2021荣耀秋招笔试题
题目描述:给定一个数组,其中元素有正有负,要求计算数组中重复出现2次以上元素之和,若无元素重复,则返回0。输入描述:输入一个任意长度的数组,元素可正可负,其实和结束用中括号,参考示例格式。输出描述:数组中所有重复出现2次以上元素的和,若无元素重复,则返回0。示例:输入:[1 1 2 3]输出:1贴一下自己的代码,不一定准确#include <bits/stdc++.h>using namespace std;int Test(vecto
2022-03-20 13:34:14
888
原创 2022乐鑫暑期实习生笔试代码编程题第一题
题目描述:有个小朋友,在一起玩游戏。游戏开始前,将小朋友编号为1,2,3,...,,并让他们从抽奖箱里随机抽取一个数字(所有的数字都不相同)。游戏分k轮进行,每轮从最小序号的小朋友开始,序号相邻的两个小朋友组成一组,两两进行组内PK,并从中淘汰一个,即每轮会淘汰一半的小朋友。淘汰的规则是:第一轮淘汰数字较小的小朋友,第二轮淘汰数字较大的小朋友,交替进行,直到只剩一个小朋友。最后剩下的小朋友将会获得幸运大奖。已知每个小朋友抽到的数字,请求出最后获奖的小朋友的编号。输入描述:输入有2行第一行
2022-03-20 13:18:24
5442
转载 关于linux开发板、笔记本、虚拟机互联的好办法
(19条消息) 开发板网线直连电脑的设置方法且能上网_killercoder-优快云博客_开发板网线连电脑学习使用
2022-01-30 22:25:53
177
原创 ubuntu16.04安装vscode
注意不要在root下操作。通过Terminal进行安装,首先输入下面三条语句安装umake sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make然后通过umake来安装VScode umake idevisual-stu...
2021-12-12 16:25:14
449
原创 FreeRTOS任务切换过程
在FreeROTS任务的切换实际由xPortPendSVHandler函数完成,主要完成上下文切换即保存上文,切换下文两个主要目的操作;切换前我们需要了解上文需要保存什么,下文切换的又是什么;上文中保存的主要内容是:(1).寄存器中的R4-R11数据(其余的进入异常前CPU自动保存);(2).当前任务的栈顶指针;(3).全局TCB地址;下文切换需要切换的内容主要是:(1).最新任务的TCB;(2).最新任务中栈中的r4-r11数据到CPU R4-R11;(3)新任务栈顶存入PSP,用来出栈
2021-11-27 20:03:25
765
转载 Keil启动文件详解
转载:(3条消息) Keil 启动文件详解_xieyuhang727的博客-优快云博客_keil的启动文件1. 启动文件详解1.1 启动文件的主要任务 启动文件会完成以下五件事:初始化堆栈指针 SP=__initial_sp初始化PC指针 PC=Reset_Handler初始化中断向量表配置系统时钟调用C库函数__main()初始化用户堆栈,从而最终调用main函数去到C世界1.2 启动文件中的汇编指令 汇编指令可以通过keil->help->uVisi...
2021-11-27 14:03:25
2018
原创 CortexM内核栈的8字节对齐及关键字 PRESERVE8
注:本文只用于本人学习一、什么是栈对齐?栈的字节对齐,实际是指栈顶指针须是某字节的整数倍。因此下边对系统栈与MSP,任务栈与PSP,栈对齐与SP对齐 这三对概念不做区分。另外下文提到编译器的时候,实际上是对编译器汇编器连接器的统称。二、AAPCS栈使用规约在ARM上编程,但凡涉及到调用,就需要遵循一套规约AAPCS:《Procedure Call Standard for the ARM Architecture》。这套规约里面对栈使用的约定如下:...
2021-11-27 10:03:10
1824
1
原创 ARM处理器的 Handler mode 与 Thread mode 以及 MSP 和 PSP
注:本文仅用于本人学习。Cortex-M3处理器支持两种处理器的操作模式,还支持两级特权操作。 两种操作模式分别为:处理者模式(handler mode,以后不再把 handler中译——译注)和线程模式(thread mode)。引入两个模式的本意,是用于区别普通应用程序的代码和异常服务例程的代码——包括中断服务例程的代码。 Cortex-M3 的另一个侧面则是特权的分级——特权级和用户级。这可以提供一种存储器访问的保护机制,使得普通的用户程序代码不能意外地,甚至是恶意地执行涉及到要害
2021-11-26 16:34:33
4248
1
原创 Sed常用指令和脚本
1、Sed常用指令汇总2、Sed脚本指令范例2.1、范例1所使用的样本文件为<html><title>First Web</title><body>Hello World!<body></html>范例1、将文件中第二个<body>替换为...
2021-11-09 10:13:10
137
原创 UDP编程笔记
1、字节序1.1、概念 是指多字节数据的存储顺序1.2、分类 小端格式:将低位字节数据存储在低地址 大端格式:将高位字节数据存储在低地址1.3、注意 LSB:低地址 MSB:高地址2、字节序转换函数1、网络协议指定了通讯字节序—大端2、只有在多字节数据处理时才需要考虑字节序3、运行在同一台计算机上的进程相互通信时,一般不用考虑字节序...
2021-11-08 17:31:18
275
原创 网络通信中的一些概念
1、交换机介绍 网络交换机(又称网络交换器),是一个扩大网络的器材。可以把更多的计算机等网络设备连接到当前网络中。 2、交换机功能 1、转发过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如果该帧数据为广播/组播帧则转发至所有端口) 2、学习功能:以太网交换机了解每一端口相连设备的MAC地址,并将地址同对应的端口映射起来存放在交换机缓存中的MAC地址表中。 3、目前交...
2021-11-06 16:00:35
135
原创 计算机网络概述
一、计算机网络发展简史1.1 早期的电路交换网 1、在通信双方或者多方之间通过电路交换建立电路连接的网络 2、电路交换的特点 1、建立链接=》 使用链接=> 释放链接 2、物理通路被通信双方独占 计算机数据是突发式出现在数据链路上的,而电路交换网的建立链接、使用链接、释放链接的三个过程使得传输效率太低,故电路交换不适合传输计算机数据。1.2 最早...
2021-11-05 22:02:36
343
原创 makefile中的函数
makefile中11可以自定义实现函数,并调用执行。通过 define 关键字实现自定义函数。注意: 1、自定义函数是一个多行变量,无法直接调用 2、自定义函数是一种过程调用,并没有任何的返回值 3、自定义函数用于定义命令集合,并应用于规则中使用 new 变量时相当于使用变量,没有传参进去。使用 var 变量时 使用 call 相当于把 func1 作为参数传进去。...
2021-11-05 20:24:44
407
原创 Makefile中的变量
变量在不同的makefile之间的传递1、直接在外部定义环境变量进行传递2、使用 export 定义变量进行传递(定义临时环境变量)3、定义 make 命令行变量进行传递(推荐)makefile1:其中的 var 使用 export 的方式定义变量进行传递其中的 new 变量使用命令行变量的方式进行传递makefile2:结果:...
2021-11-05 20:06:55
505
原创 CMake的简单应用教程
1、建立如下的文件夹其中的 main.cpp 内容如下:······其中的 CMakeLists.txt 内容如下:其中的 build 文件夹是一个空文件夹,build 文件夹应该与 CMakeLists.txt 在同一个目录层级下。接下来我们进入 build 文件夹:cd build执行命令:cmake + CMakeLists.txt 所在文件夹的路径此时在 build 文件夹中生成如下文件:此时执行命令...
2021-10-26 22:22:40
200
原创 CMake
CMake是一个跨平台、开源的构建系统。他是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。一、语法特性简介1、基本语法格式:指令(参数1 参数2) 1、参数使用括弧括起 2、参数之间使用空格或者分号分开2、指令是大小写无关的,参数和变量是大小写相关的3、变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名二、常用的重要指令和CMake变量 2.1、重要指令...
2021-10-26 21:48:58
985
原创 CPP标准库中定义的函数对象
标准库中定义了一组表示算术运算符,关系运算符和逻辑运算符的类,每个类分别定义了一个执行命令操作的调用运算符,例如:plus类定义了一个函数调用运算符,用于对一对运算对象执行+的操作;modules类定义了一个调用运算符执行二元的%操作;equal_to类执行==,等等。这些类都被定义成模板的形式,我们可以为其指定具体的应用类型,这里的类型即调用运算符的形参类型。例如:plus<string>令string加法运算符作用于string对象。这些函数对象模板在functional头文件中
2021-10-08 10:13:04
224
原创 CPP中的lambda与函数对象
lambda就不多赘述了。函数对象是类重载了函数调用运算符,我们可以像使用函数一样使用该类的对象。在标准库的 stable_sort() 排序算法中,我们可以有如下三种方法方法一就是原生的stable_sort ,方法二是加入lambda后的stable_sort ,方法三是利用函数对象的方法。在方法三中,第三个实参是新构建的Compare类,当stable_sort内部的代码每次比较两个int时就会“调用”这一对象,此时这个对象将调用运算符的函数体,判断两个int的大小。...
2021-10-08 09:35:05
265
原创 CPP中的操作符重载
1、重载的运算符是具有特殊名字的函数,它们的名字由关键字 operator 和其后要定义的运算符号共同组成,和其他函数一样,重载的运算符也包含返回类型,参数列表以及函数体。2、当一个重载的运算符是成员函数时, this 指针绑定到左侧运算对象上,成员运算符函数的显式参数数量比运算对象数量少一个。3、对于重载的运算符,我们不能改变其原生的优先级和结合律。4、取地址运算符,逻辑运算符,逗号运算符,前置与后置运算符不要重载,因为重载后会使得与原生含义或者行为不一致。5、如果一个类重载了 == 运算
2021-10-07 21:21:42
765
原创 CPP中的类型转换
问题: 类类型之间能不能相互转换?1、无法抑制隐式的类型转换函数的调用2、类型转换函数可能与转换构造函数冲突3、工程中以 TypetoType() 的公有成员代替类型转换函数...
2021-10-06 22:27:16
150
原创 CPP中的类型转换函数
问题:类类型能否转换到普通类型? 类型转换函数 1、C++类可以定义类型转换函数 2、类型转换函数用于将类对象转换为其他类型 3、语法规则 代码:类型转换函数 1、与转换构造函数具有同等的地位 2、使得编译器有能力将对象转换为其他类型 3、编译器能...
2021-10-06 22:21:46
232
原创 CPP中的类型转换函数
问题:普通类型与类类型之间能否进行类型转换? 类类型之间能否进行类型转换?一、普通类型转换为类类型再论构造函数1、构造函数可以定义不同类型的参数 2、参数满足下列条件时称为转换构造函数 1、有且只有一个参数 2、参数是基本类型 3、参数是其他类类型当我们写下编译器的行为是:编译器尽力尝...
2021-10-06 22:15:07
191
原创 CPP中重载赋值操作符
在CPP中,析构函数,拷贝构造函数和赋值操作符的重载总是绑定在一起的。一、几个问题1、赋值操作符重载函数 参数为:const Test& obj,加上const的原因是我们不希望此函数对用来进行赋值的obj进行任何修改,其次加上const的形参,能接受const和非const的实参,反之只能接受非const的实参。 返回值为:Test&,返回值是返回被赋值着的引用,即*this,这样可以实现连续复制,类似t2 = t1 = t3。如果...
2021-10-06 21:54:43
462
转载 MCG模块
MCG称为多用途时钟信号发生器,该模块为MCU和芯片内部各个模块提供时钟信号。MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或PLL(锁相环)进行倍频处理,当然也可以不通过FLL或PLL,而直接输出给各个模块。一般情况下,我们会选择外部晶振的参考时钟,分频后由PLL倍频的方法来达到超频运行的目的。MCG模块框图:MCG的核心...
2021-10-03 20:32:44
472
转载 python-dev and python3-dev 软件包
参考:python-dev and python3-dev 软件包_既然选择了远方 便只顾风雨兼程 - 永强-优快云博客_python3-dev
2021-09-24 18:51:35
267
原创 关于在CentOS下使用code命令打开vscode,以及在root状态下利用code打不开vscode
在一般用户模式下使用code打开vscode时,如果想要保存修改那么每次都要输入密码。所以切换成root用户去打开。但是使用root用户利用code命令打开vscode需要配置一下文件。1、打开文件夹 vim ~/.bashrc2、添加别名 alias code='sudo code --user-data-dir="/!:1"'3、重启虚拟机后即可使用4、关于alias 格式:alias name text 用...
2021-08-30 09:09:31
2060
1
原创 关于多线程编程中的条件变量实现线程同步
linux下c语言开发多线程关于条件变量和互斥锁会一起使用的一些注意点注意 1:mutex 互斥锁必须是普通锁(PTHREAD_MUTEX_TIMED_NP)或者适应锁(PTHREAD_MUTEX_ADAPTIVE_NP)。在调用 pthread_cond_wait()前必须由本线程加锁 pthread_mutex_lock()。在更新条件等待队列以前,mutex 保持锁定状态。在线程挂起进入等待前解锁。注意 2:在条件满足从而离开 pthread_cond_wait() 之前,mutex 将被
2021-08-06 14:01:27
142
原创 二重指针的使用
1、为什么会在传参的时候用二重指针呢?要想弄明白这个问题,先搞清楚为什么传参的时候用指针?我想很多人都知道直接传值是不会改变实参的值的,只能改变形参的值。所以我们把参数设定为地址,即、传参时用指针,我们就可以改变实参的值。2、那么考虑一下另外一种情况,我们如果想要改变的实参是一个地址呢?那我们直接把地址值作为形参传进去,函数是不会改变实参(地址值)的。那我们想要改变这个地址值,要怎么办呢?照葫芦画瓢呗!我们知道指针(地址)也是变量,它也存在一个地址中,所以我们把存指针的地址(二重指针)作为形
2021-07-19 21:20:15
2332
1
原创 CentOS下出现:File “/usr/libexec/urlgrabber-ext-down“, line 28 except OSError, e: ^
原因:这是因为yum采用Python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 7自带的yum采用的是python2.7,当系统将python升级到3.4后,出现语法解释错误。解决方法: 1、vim /usr/libexec/urlgrabber-ext-down 2、#! /usr/bin/python =...
2021-07-07 17:30:10
2865
4
原创 关于centos下更新python2.7到3.6.8
1、安转依赖包和需要用到的工具,如果不升级openssl,安装后pip安装模块可能会出问题2、下载python3.6.8的安装包3、解压并进入python目录4、配置,编译,安装--prefix参数是指定python的安装目录--with-openssl参数是加入openssl模块5、更改软连接 1、把python2的软连接备个份 3、做python3的软连接6、pytho...
2021-07-04 14:12:52
243
原创 关于在centos下更新gcc/g++版本
转载自:https://blog.youkuaiyun.com/weixin_39658118/article/details/110223894
2021-07-04 10:12:07
1510
转载 centos怎么输入中文
转载自:https://blog.youkuaiyun.com/sunxiaopengsun/article/details/53965643
2021-07-02 21:06:57
153
原创 centos下安装cmake
参考:https://blog.youkuaiyun.com/weixin_44343935/article/details/101274808
2021-06-30 12:47:58
933
原创 安装FileZilla
1、去官网下载安装包https://filezilla-project.org/download.php?type=client#close2、安装3、使用
2021-06-29 20:54:09
237
原创 一些小问题,记录一下
1、查看自己的windows版本2、查看anaconda版本3、查看当前环境下python版本4、删除Anaconda中的某个环境5、进入某个环境(在powershell prompt中执行下面命令进不去,在prompt中执行可以进去)6、退出某个环境7、查看当前环境下的tensorflow版本 1、先进入要查看的环境中的python交互模式 2、输入:8、查看conda版本9、进入交互模式10、...
2021-06-29 18:50:18
69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人