linux+c+qt杂记

 虚拟机网络选择;

桥接模式:设置window宿主机的IP/dns,把虚拟机设置为桥接即可。

切换到终端:我的是 ctrl+alt+Fn+F1?

问题解决:

Ubuntu系统下载(清华大学开源软件镜像站)(ubuntu-20.04.1-desktop-amd64.iso)

手把手安装VirtualBox增强工具&进行相关配置

为VirtualBox下Linux-Ubuntu虚拟机增加虚拟硬盘容量(傻瓜化操作,全程UI下完成) 

VMware Ubuntu使用gparted工具扩容,显示Unable to resize read-only file system 

VirtualBox扩容失败-Progress state: VBOX_E_NOT_SUPPORTED Resizing to new size 16231956480 is not yet

GParted给ubuntu系统磁盘resize大小时候出现cannot resize read-only file system解决办法

为VirtualBox下Linux-Ubuntu虚拟机增加虚拟硬盘容量(傻瓜化操作,全程UI下完成)

// vb_share:是上一步设置的文件夹名称;share:是虚拟机里面创建的共享文件夹名称 sudo mount -t vboxsf vb_share share

最新】用VirtualBox安装Ubuntu,启动后黑屏的解决办法【更新时间2020年11月4日】

Ubuntu更改镜像源两种方式

Ubuntu 软件仓库镜像使用帮助

Qt在ubuntu下的几种安装方式 

不建议图像界面更改 

如何激活Ubuntu的root帐号

激活root

如何在 Ubuntu 20.04 上安装 GCC(build-essential)

静态库

动态库

在Ubuntu 20上安装GTK+的步骤如下:

  1. 打开终端,可以使用Ctrl+Alt+T快捷键组合打开终端。

  2. 输入以下命令安装GTK+开发环境所需的基本工具和库:

 

bash复制代码

sudo apt-get install build-essential
  1. 输入以下命令安装libgtk2.0-dev和libglib2.0-dev等开发相关的库文件:

 

bash复制代码

sudo apt-get install libgtk2.0-dev libglib2.0-dev
  1. 输入以下命令安装pkg-config,用于在编译GTK程序时自动找出头文件及库文件位置:

 

bash复制代码

sudo apt-get install pkg-config
  1. 输入以下命令安装devhelp,用于查看GTK文档:

 

bash复制代码

sudo apt-get install devhelp
  1. 输入以下命令安装libglib2.0-doc和libgtk2.0-doc,这些是gtk和glib的API参考手册及其它帮助文档:

 

bash复制代码

sudo apt-get install libglib2.0-doc libgtk2.0-doc
  1. 输入以下命令安装glade,用于GTK+的界面设计:

 

bash复制代码

sudo apt-get install glade libglade2-dev

或者可以使用以下命令安装Glade的Gnome版本:

 

bash复制代码

sudo apt-get install glade-gnome glade-common glade-doc
  1. 最后,输入以下命令安装gtk2.0或gtk+2.0,具体命令取决于您要安装的版本:

 

bash复制代码

sudo apt-get install libgtk2.0*

完成上述步骤后,您应该已经在Ubuntu 20上成功安装了GTK+开发环境。

第一步:赋予.run文件的可执行权限(即x)
r:读
w:写
x:执行
上面三者对应的值分别为4,2,1。因此赋予.run文件可执行权限可用命令:

sudo chmod 775 ****.run
第二步:安装
这一步在文件的根目录下执行命令:

./文件的名字.run
执行后就会弹出软件安装的提示,按照提示进行安装即可。

第三步:运行软件
安装之后会在桌面生成一个.desktop的文件,点击这个文件,会弹出一个提示框,点击“信任”即可。这时软件就能成功打开。

c语言: 如何理解预处理

C 程序主要包括以下部分:

  • 预处理器指令(如何讲预处理?)
  • 函数
  • 变量
  • 语句 & 表达式
  • 注释

 C语言关键字 保留字

实际工作开发中C语言工程的目录结构分析

C语言目录结构:

	./Trunk/
	├── bin	
	├── build
	│   ├── Makefile
	├── lib
	├── docs
	├── include
	│   ├── inner
	│   ├── xxx1
	│   └── xxx2
	├── patch
	├── src
	├── test
	└── tool

数据类型:隐式转换 显示转换  三大数据结构

函数定义在一定程度上有函数原型声明的作用,当函数定义在后,而调用在前时则必须要在调用语句之前声明该函数。若调用该函数在定义之后则可以不用单独给出声明。

  

 gcc编译程序的过程
gcc编译程序主要经过四个过程:

  • 预处理(Pre-Processing)
  • 编译 (Compiling)
  • 汇编 (Assembling)
  • 链接 (Linking)


预处理实际上是将头文件、宏进行展开。编译阶段,gcc调用不同语言的编译器,例如c语言调用编译器ccl。gcc实际上是个工具链,在编译程序的过程中调用不同的工具。汇编阶段,gcc调用汇编器进行汇编。链接过程会将程序所需要的目标文件进行链接成可执行文件。汇编器生成的是可重定位的目标文件,学过操作系统,我们知道,在源程序中地址是从0开始的,这是一个相对地址,而程序真正在内存中运行时的地址肯定不是从0开始的,而且在编写源代码的时候也不能知道程序的绝对地址,所以重定位能够将源代码的代码、变量等定位为内存具体地址。下面以一张图来表示这个过程,注意过程中文件的后缀变化,编译选项和这些后缀有关。

linux文件体系:略

linux 命令分类及常用命令

Linux Ubuntu 入门基本命令整理

GUN是一个关于linux的标准。 一切有关linux的开发得符合GUN的规定。 GNU工程已经开发了一个被称为“GNU”(GNU是“不是UNIX”的缩写)的、对Unix向上兼容的完整的自由软件系统 (free software system)。

command line interface,CLI

目录与文件

Linux PC上安装的第 一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始构建的

Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点(mount point)。挂载点是虚 拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然 而实际上它们却存储在另外一个驱动器中。

图3-2展示了计算机中的两块硬盘。一块硬盘和虚拟目录的根目录(由正斜线/表示)关联起 来。剩下的硬盘就可以挂载到虚拟目录结构中的任何地方。在这个例子中,第二块硬盘被挂载到 了/home位置,用户目录都位于这个位置。

在登录系统并获得一个shell CLI提示符后,会话将从主目录开始。主目录是分配给用户账户 的一个特有目录。用户账户在创建之后,系统通常会为其分配一个特有的目录?

在切换到新的当前工作目录时使用pwd命令,是很好的习惯。因为很多shell命令都是在当 前工作目录中操作的,在发出命令之前,你应该始终确保自己处在正确的目录之中。

创建符号链接ln -s data_file sl_data_file

文件与目录管理:无非是创建、改名字、移动、删除、查看、编辑

文件创建:touch mv rm、cat

目录:mkdir

查看:cat/more/less

进程前后台切换?

在Linux中,进程的前后台主要涉及到的是进程的执行方式和调度优先级。

前台进程:当你在终端运行一个程序时,这个程序通常会成为一个前台进程。这意味着这个进程会占用你的终端,你可以看到它的输出和输入。例如,如果你正在使用一个文本编辑器来编写文章,那么这个编辑器程序就会是一个前台进程。

后台进程:后台进程通常是在前台进程执行时同时启动的,但是它们并不占用终端。它们通常在后台执行一些任务,例如下载文件、备份数据、扫描病毒等。这些进程不会阻止你使用终端进行其他操作。你可以通过在命令后面加上 & 符号来将进程放到后台执行,例如:./my_script.sh &

在Linux中,前台进程的优先级通常比后台进程高。这意味着如果系统需要终止进程以释放资源,那么前台进程会优先被终止。此外,如果你的终端被关闭,那么所有在前台的进程也会被终止。

需要注意的是,前台和后台并不是一成不变的。你可以通过在终端中使用 fg 命令将后台进程切换到前台,反之亦然。例如,如果你想知道正在运行的后台进程的PID,可以使用 ps 命令来查看,然后通过 bg 和 fg 命令来控制其前台和后台切换。

mount 即是把物理存储设备和逻辑目录系统联系上

linux 文件系统的类型

useradd

离线安装docker

在线安装docker

安装mysql:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/88007.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java实现一个简单的图书管理系统(内有源码)

简介 哈喽哈喽大家好啊,之前作者也是讲了Java不少的知识点了,为了巩固之前的知识点再为了让我们深入Java面向对象这一基本特性,就让我们完成一个图书管理系统的小项目吧。 项目简介:通过管理员和普通用户的两种操作界面&#xff0…

机器学习之概率论

最近,在了解机器学习相关的数学知识,包括线性代数和概率论的知识,今天,回顾了概率论的知识,贴上几张其他博客的关于概率论的图片,记录学习过程。

视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

redis实战-缓存三剑客穿透击穿雪崩解决方案

缓存穿透 定义 缓存穿透 :缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库,造成数据库压力,也让缓存没有发挥出应有的作用 解决方案 缓存空对象 当我们客户端…

(6)(6.3) 自动任务中的相机控制

文章目录 前言 6.3.1 概述 6.3.2 自动任务类型 6.3.3 创建合成图像 前言 本文介绍 ArduPilot 的相机和云台命令,并说明如何在 Mission Planner 中使用这些命令来定义相机勘测任务。这些说明假定已经连接并配置了相机触发器和云台(camera trigger and gimbal ha…

opencv简单使用

cv2库安装, conda install opencv-python注意cv2使用时,路径不能有中文。(不然会一直’None’ _ update # 处理中文路径问题 def cv_imread(file_path): #使用之前需要导入numpy、cv2库,file_path为包含中文的路径return cv2.imd…

IP库新增经过实践的Verilog 库

网上严重缺乏实用的 Verilog 设计。Project F 库是尝试让 FPGA 初学者变得更好部分。 设计包括 Clock- 时钟生成 (PLL) 和域交叉Display - 显示时序、帧缓冲区、DVI/HDMI 输出Essential- 适用于多种设计的便捷模块Graphics- 绘制线条和形状Maths- 除法、LFSR、平方根、正弦....…

Excel/PowerPoint条形图改变顺序

条形图是从下往上排的,很多时候不是我们想要的效果 解决方案 选择坐标轴,双击,按下图顺序点击 效果

LLM架构自注意力机制Transformers architecture Attention is all you need

使用Transformers架构构建大型语言模型显著提高了自然语言任务的性能,超过了之前的RNNs,并导致了再生能力的爆炸。 Transformers架构的力量在于其学习句子中所有单词的相关性和上下文的能力。不仅仅是您在这里看到的,与它的邻居每个词相邻&…

前端界面设计

目录 1.兴趣展示网站1.效果2.核心代码展示3.源代码 2.优美的登录网页1.效果2.核心代码展示3.源代码 3.美女相册1.效果2.核心代码展示3.源代码 4.精美选项卡1.效果2.核心代码展示3.源代码 4. 自己写过的一些前端界面设计Demo整理。 1.兴趣展示网站 1.效果 2.核心代码展示 工程截…

vue3 基础知识

vue3创建一个项目 PS D:\code> npm init vuelatestVue.js - The Progressive JavaScript Framework√ Add TypeScript? ... No / Yes √ Add JSX Support? ... No / Yes √ Add Vue Router for Single Page Application development? ... No / Yes √ Add Pinia for sta…

day-24 代码随想录算法训练营(19)回溯part01

77.组合 思路一:回溯相当于枚举,所以我们遍历1-n的每一个数字,然后在遍历第i位的同时递归出第i1~n位的组合结果,跟树的形式相似。 如上图所示,当长度为k时,即退出递归可对遍历到第i位以及剩下位数与k进行比…

GEEMAP 基本操作(一)如何拉伸图像

图像拉伸是最基础的图像增强显示处理方法,主要用来改善图像显示的对比度,地物提取流程中往往首先要对图像进行拉伸处理。图像拉伸主要有三种方式:线性拉伸、直方图均衡化拉伸和直方图归一化拉伸。 GEE 中使用 .sldStyle() 的方法来进行图像的…

死锁的典型情况、产生的必要条件和解决方案

前言 死锁:多个线程同时被阻塞,他们中的一个或全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 目录 前言 一、死锁的三种典型情况 (一)一个线程一把锁 (二)…

redis常用五种数据类型详解

目录 前言: string 相关命令 内部编码 应用场景 hash 相关命令 内部编码 应用场景 list 相关命令 内部编码 应用场景 set 相关命令 内部编码 应用场景 Zset 相关命令 内部编码 应用场景 渐进式遍历 前言: redis有多种数据类型&…

CSS 实现页面底部加载中与加载完毕效果

效果图 实现代码 <view class"bottom-load-tip"><view class"line-tip"></view><view class"loading-animation" v-if"!lastPage"></view><view>{{ lastPage ? "没有更多了" : "…

自动化测试工具:Airtest入门教程

目录 1.什么是Airtest&#xff1f; 2.AirtestIDE下载安装 3.如何开始使用 4.Airtest入门特例教程 5.总结 1.什么是Airtest&#xff1f; Airtest是一款基于 Python 的、跨平台的UI自动化测试框架。因为它基于 图像识别 的原理&#xff0c;所以适用于所有 Android、 iOS和 …

边写代码边学习之Bidirectional LSTM

1. 什么是Bidirectional LSTM 双向 LSTM (BiLSTM) 是一种主要用于自然语言处理的循环神经网络。 与标准 LSTM 不同&#xff0c;输入是双向流动的&#xff0c;并且它能够利用双方的信息。 它也是一个强大的工具&#xff0c;可以在序列的两个方向上对单词和短语之间的顺序依赖…

Matlab绘制灰度直方图

直方图是根据灰图像绘制的&#xff0c;而不是彩色图像通。查看图像直方图时候&#xff0c;需要先确定图片是否为灰度图&#xff0c;使用MATLAB2019查看图片是否是灰度图片&#xff0c;在读取图片后在MATLAB界面的工作区会显示读取的图像矩阵&#xff0c;如果是&#xff0c;那么…

Cookie 和 Session 的工作流程

目录 一、Cookie是什么&#xff1f; 二、Session是什么? 三、Cookie的工作流程 四、Session的工作流程 五、Session和Cookie的区别和联系 一、Cookie是什么&#xff1f; Cookie是一种在网站和用户之间交换信息的机制。它是由Web服务器发送给用户浏览器的小型文本文件&#xff…