linux+c+qt杂记

news2024/11/24 1:48:24

 虚拟机网络选择;

桥接模式:设置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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用easyExcel导入导出Date类型的转换问题

起因:在业务需求上需要将Excel表中的日期导入,存储到数据库中,但是entity中的日期类型使用Date来接收,这样导致时间精确到秒。这时,即使使用DateTimeFormat("yyyy-MM-dd")也无法成功转换,会报如下…

第4篇:vscode+platformio搭建esp32 arduino开发环境

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 1.配置默认安装路径,安装到D盘。 打开环境变量,点击新建 输入变量名PLATFORMIO_CORE_DIR与路径:D:\PLATF…

javafx应用程序线程异常Exception in thread “JavaFx Application Thread“

前几天用javafx做小桌面应用程序出现了一个问题: 反复检查,最终确定报错的原因是UI刷新频率过快导致的 javafx提供了Platform.runLater用于解决该问题: Platform.runLater(new Runnable() {Overridepublic void run(){//用Platform.runLate…

linux上传代码到gitee

一、在gitee创建一个仓库 1.创建仓库 2.获取仓库地址 二、克隆仓库文件到linux中 1.查看Linux中是否安装git:git --version 如果没有,在root下使用指令 yum install -y git 安装。 2.使用 git clone 仓库地址,克隆仓库文件到linux中 三、文…

常见API架构介绍

两个服务间进行接口调用,通过调用API的形式进行交互,这是常见CS架构实现的模式,客户端通过调用API即可使用服务端提供的服务。相较于SPI这种模式,就是服务端只规定服务接口,但具体实现交由第三方或者自身来实现&#x…

如何利用SFTP如何实现更安全的远程文件传输 ——【内网穿透】

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《高效编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! 文章目录 1. 安装openSSH1.1 安装SSH1.2 启动ssh 2. 安装cpolar2.1 配置termux服务 3. 远程SFTP连接配置3.1 查看生成的随机公…

《Zookeeper》源码分析(二十)之 Follower

目录 Follower创建Follower实例followLeader()findLeader()connectToLeader()registerWithLeader()syncWithLeader() FollowerZooKeeperServer Follower Leader选举结束后,成为Follower的服务器开始进行Follower的工作,过程如下: 与Leader…

Docker 轻量级可视化工具Portainer

1. 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 2. 安装 2.1 官网 https://www.protainer.io/ https://docs.portainer.io/ce-2.9/start/install/server/docker/linux 2.2 …

【C# Programming】编程入门:数组、操作符、控制流

目录 一、数组 1、数组的声明 1.1 一维数组声明: 1.2 多维数组声明: 2、数组的实例化和赋值 2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如: 2.2 如果在声明后赋值,则需…

RT-Thread 线程管理(学习一)

RT-Thread是支持多任务的操作系统,多任务通过多线程的方式实现。线程是任务的载体,也是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文,具体来说就是各个变量和数据,包括所有的寄存器变量、堆栈、内存信息等。 特点 …

前端需要理解的 TypeScript 知识

Typescript是添加了类型系统的JavaScript,属于弱类型(即允许隐式类型转换)、静态类型语言,适应于任何规模的项目,支持 ES6,由微软开发并开源。Typescript增加的功能包括:类型批注和编译时类型检…

支持向量机SVM原理

目录 支持向量机SVM原理 SVM原理 从线性分类器说起 SVM的目标是最大化分类间隔 转化为对偶问题求解 支持向量机SVM原理 【数之道】支持向量机SVM是什么,八分钟直觉理解其本质_哔哩哔哩_bilibili SVM是由Vapnik等人于1995年提出的,在之后的20多年里…

win11录屏,自带录屏,无需下载第三方软件

1.按win键,输入“截图”,打开截图工具 2.选择录屏功能 3.新建录制 4.选择录制区域录制就可以了

nginx会话保持

ip_hash:通过IP保持会话 作用: nginx通过后端服务器地址将请求定向的转发到服务器上。 将客户端的IP地址通过哈希算法加密成一个数值 如果后端有多个服务器,第一次请求到服务器A, 并在务器登录成功,那么再登录B服务器就要重新…

java-红黑树

节点内部存储 红黑树规则 或者: 红黑树添加节点规则: 添加节点默认是红色的(效率高) 红黑树示例 注:红黑树增删改查性能都很好

【Vue框架】 router和route是什么关系

前言 之前没太注意,写着写着突然发现它们貌似不太一样,记录以下,回顾的看总结就好。 1、总结✨ route:当前激活路由的对象,用于访问和操作当前路由的信息 router:管理多个route的对象,整个应…

[HarekazeCTF2019]Easy Notes-代码审计

文章目录 [HarekazeCTF2019]Easy Notes-代码审计 [HarekazeCTF2019]Easy Notes-代码审计 登录之后有几个功能点,可以添加节点,然后使用Export导出 我们查看源码, 我们发现想要拿到flag的条件时$_SESSION[admin]true 如果我们能够控制sessio…

具备这7 个功能将让你的网站聊天机器人更加出色

对于您和您的客户来说,客户支持体验是最重要的。这里有 7个强大的功能可以完善和增强您的网站聊天机器人。 在网站上使用聊天机器人可能是您可以为客户支持团队做出的最佳决策之一。然而,在2023 年互联网发达的今天,您的网站聊天机器人可以实…

如何为开源项目做出贡献?

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Pytorch学习:常见数据集torchvision.datasets及数据集的使用DataLoader

文章目录 1. Datasets常见数据集1.1 CIFAR101.2 Fashion-MNIST1.3 ImageNet 2. DataLoader2.1 shuffle2.2 drop_last 1. Datasets常见数据集 Torchvision在 torchvision.datasets 模块中提供了许多内置的数据集,以及用于构建自己的数据集的实用程序类。 官方文档&a…