草庐IT

GCC安全编译参数

一、写在前面Amainpillarinsecurityisthatsecurityisdoneinlayers.Duringsoftwarebuild,compilationisdoneusinganumberofflagsandswitchesthatenhancethefunctionalityandsecurityoftheoutputprogram.Belowisalistofanumberofcompilationflagsthatmustbeenabledduringbuildofallsoftwarecomponents,includingbothproprietaryand3r

Linux系统 利用conda更改gcc、g++版本(非root用户)

图片来源于网络问题场景:平常使用python安装包时,同时会用到gcc/g++造轮子进行安装,但当我们在公司企业的服务器集群上进行操作时,我们一般都是非root用户,无法对/bin或/lib目录进行更改,无法更新相应文件夹下对应软件的链接。conda为我们提供了环境的隔离,如何为用户配置conda内下载的指定版本gcc呢?甚至做到多环境gcc/g++版本共存,在有需要时快速切换!解决思路:1.下载gcc/g++至conda环境一般,通过conda下载gcc及g++可通过如下命令(在对应的conda环境env中):condainstall-cmoussigcc_impl_linux-64cond

ST-ARM(1):系统架构,地址映射

ST-ARM(1):系统架构,地址映射系统架构CPU的核心主要功能为运算器和控制器,但是CPU并不具备数据存储的功能。CPU与外界存储器建立数据通道分为“哈佛结构”和“冯诺伊曼结构”两种不同思路。冯诺伊曼结构的优点是总线资源占用少,缺点是执行效率较低,冯诺伊曼结构执行程序的同时不能读取数据。而相反的是哈佛结构的优点是执行效率较高,缺点是总线资源占用多,哈佛结构执行程序的同时能够读取数据。如今半导体技术发展迅速,对于资源限制已经没有那么严重了。ST-ARMST公司设计的ARM架构芯片,采用的是“哈佛结构”,ICode总线直接连接到Flash,而不需要经过经过总线矩阵。上图为STM32F1系列系统

CPU idle framework_ARM WFI和WFE指令

1.前言蜗蜗很早以前就知道有WFI和WFE这两个指令存在,但一直似懂非懂。最近准备研究CPUidleframework,由于WFI是让CPU进入idle状态的一种方法,就下决心把它们弄清楚。WFI(Waitforinterrupt)和WFE(Waitforevent)是两个让ARM核进入low-powerstandby模式的指令,由ARMarchitecture定义,由ARMcore实现。听着挺简单,但怎么会有两个指令?它们的区别是什么?使用场景是什么?深究起来,还挺有意思,例如:能想象WFE和spinlock的关系吗?2.WFI和WFE1)共同点WFI和WFE的功能非常类似,以ARMv8-A

拒绝烂尾,Arm二期持续更新中,Arm二期Roadmap

感谢大家的支持,感谢大家一直以来的鼓励。更感谢大家的包容。近期又更新了很多课程,这次都是总线和协议相关的,适合软件同学基础扫盲。硬件的同学请自行考虑,相信你们研究的比我这深。同时呢也在规划一些直播讨论交流课,也希望各位大佬赏脸多多支持多多参与。今天更新之后,该课程已有98节课了。这门课呢,还需持续投入持续更新。也希望能够让大家眼前一亮之后再亮。这是咱的明星课、性价比课,不再做过多的解释了,详细了解请看课程目录或Roadmap吧。这是我们后续的roadmap,这虽然是roadmap,但这更是一张学习路线图(记得搜藏点赞哦)、一张全局全栈的学习线路图。当然呢不承诺不保证所有都会有,只能说尽可能的上

MacM1(ARM)安装Protocol Buffers

MacM1(ARM)安装ProtocolBuffers本文目录MacM1(ARM)安装ProtocolBuffers3.21之前版本安装使用configure3.22之后版本安装使用cmake使用编译后的版本protobuf下载地址:https://github.com/protocolbuffers/protobuf/releases在运行./autogen.sh或./configure命令时出现"Nosuchfileordirectory"错误,是因为protobuf版本或构建方式的问题3.21之前版本安装使用configure如果没有configure需要先运行./autogen.sh生

银河麒麟 ARM 架构 离线安装Docker

1.下载对应的安装包进入此地址下载对应的docker离线安装包下载地址将文件上传到服务器解压此文件tarzxfdocker-18.09.1.tgz将docker相关命令拷贝到/usr/bin,方便直接运行命令cpdocker/*/usr/bin/启动Docker守护程序dockerd&验证是否安装成功,执行dockerinfo命令,若正常打印版本信息则安装成功。dockerinfo打印出一下则安装成功,打印成功之后杀死docker使用ps-ef|grepdocker和kill-9进程ID6.将docker注册成系统服务在/usr/lib/systemd/system/目录下创建docker.s

【Linux】工具:yum软件安装、yum源配置更新;vim编辑器常用模式、命令集、【超推荐】vim自动化配置C++IDE;gcc / g++编译器命令、编译过程

工具Ⅰ1.yum--软件安装1.1yum源配置1.2从扩展yum源中下载软件2.vim--编辑器2.1vim的模式及转换2.2vim的命令集2.3vim的配置🚩【推荐】自动化配置3.gcc/g++--编译器3.1程序的翻译3.2gcc的命令1.yum–软件安装yum是Linux下非常常用的一种包管理器,可供下载软件包.主要应用在Fedora,RedHat,Centos等发行版上。软件包和软件包管理器,就好比“App”和“应用商店”之间的关系。这些软件管家要下载软件,是必须得知道各个软件的下载地址的,一般都是内置下载链接。(比如放在配置文件中)yum就有一个这样的配置文件,我们叫他yum源,存放

Fedora 36 ARM 镜像源更换与软件安装

1、什么是FedoraFedoraLinux是较具知名度的Linux发行套件之一,由Fedora专案社群开发、红帽公司赞助,目标是建立一套新颖、多功能并且自由的作业系统。Fedora是商业化的RedHatEnterpriseLinux发行版的上游原始码。2、Fedora软件安装64位.deb(适用于Debian/Ubuntu)64位.rpm(适用于Fedora/openSUSE)1、使用软件中心安装RPM文件(GUI方法)只需要双击RPM文件,它将会在软件中心中打开。或者,你可以在RPM文件上右键单击并选择通过软件中心来安装它。2、使用DNF命令安装RPM文件(CLI方法)sudodnfins

【MySQL5.7麒麟系统,ARM架构下离线安装,搭建主从集群】

MySQL5.7主从集群部署手册一、检查本机操作系统#一定要注意查看本机的操作系统,是amd(x86)还是arm(aarch)架构uname-acat/etc/os-release注意:MsSQL8.0开始才支持arm架构,我们可以去第三方下载编译好的安装包,或者可以采取docker安装二、配置基础环境#关闭防火墙禁止开机自动启动systemctlstopfirewalld.service&&systemctldisablefirewalld.service&&serviceiptablesstop#关闭SELINUXsed-i's/SELINUX=enforcing/SELINUX=disa