当前位置: 首页 > news >正文

第一个Rust程序

在安装好Rust以后,我们就可以编写程序了。
首先,我们执行下面的命令,尽量让你的rust版本和我的版本相同,或者比我的版本大。

zhangdapeng@zhangdapeng:~$ cargo --version
cargo 1.78.0 (54d8815d0 2024-03-26)
zhangdapeng@zhangdapeng:~$ rustc --version
rustc 1.78.0 (9b00956e5 2024-04-29)
zhangdapeng@zhangdapeng:~$ rustdoc --version
rustdoc 1.78.0 (9b00956e5 2024-04-29)
zhangdapeng@zhangdapeng:~$

cargo是编译管理器,包管理器和通用工具。
rustc是rust编译器。
rustdoc是rust的文档工具。

使用cargo创建一个新的项目:

zhangdapeng@zhangdapeng:~/code/rust$ cargo new helloCreating binary (application) `hello` package
note: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

查看创建的hello包的目录:

zhangdapeng@zhangdapeng:~/code/rust$ ls hello
Cargo.toml  src

在Cargo.toml中,保存了这个项目的基本信息:

zhangdapeng@zhangdapeng:~/code/rust$ cd hello
zhangdapeng@zhangdapeng:~/code/rust/hello$ cat Cargo.toml 
[package]
name = "hello"
version = "0.1.0"
edition = "2021"[dependencies]

在src中,存放的是代码文件,这里面本身已经有一个基本的代码文件了:

zhangdapeng@zhangdapeng:~/code/rust/hello$ ls -lah src
total 12K
drwxrwxr-x 2 zhangdapeng zhangdapeng 4.0K May 14 09:19 .
drwxrwxr-x 4 zhangdapeng zhangdapeng 4.0K May 14 09:19 ..
-rw-rw-r-- 1 zhangdapeng zhangdapeng   45 May 14 09:19 main.rs
zhangdapeng@zhangdapeng:~/code/rust/hello$ cat src/main.rs 
fn main() {println!("Hello, world!");
}

因为已经有一个基础代码了,所以我们可以直接将整个项目运行起来:

zhangdapeng@zhangdapeng:~/code/rust/hello$ cargo runCompiling hello v0.1.0 (/home/zhangdapeng/code/rust/hello)
error: linker `cc` not found|= note: No such file or directory (os error 2)error: could not compile `hello` (bin "hello") due to 1 previous error

但是,我这里遇到了一个错误。
我的系统版本是Ubuntu24,这里的错误信息是:error: linker cc not found

这里的错误可以通过安装gcc来解决:

zhangdapeng@zhangdapeng:~/code/rust/hello$ sudo apt install gcc -y
[sudo] password for zhangdapeng: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu libasan8 libatomic1libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-13-dev libgomp1 libgprofng0 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 libquadmath0 libsframe1 libtsan2 libubsan1
Suggested packages:binutils-doc gprofng-gui cpp-doc gcc-13-locales cpp-13-doc gcc-multilib make autoconf automake libtool flex bison gdb gcc-doc gcc-13-multilib gcc-13-doc gdb-x86-64-linux-gnu
The following NEW packages will be installed:binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu gcc gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu libasan8libatomic1 libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-13-dev libgomp1 libgprofng0 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 libquadmath0 libsframe1 libtsan2 libubsan1
0 upgraded, 30 newly installed, 0 to remove and 4 not upgraded.
Need to get 51.6 MB of archives.
After this operation, 182 MB of additional disk space will be used.
Get:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 binutils-common amd64 2.42-4ubuntu2 [239 kB]
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libsframe1 amd64 2.42-4ubuntu2 [14.8 kB]
Get:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libbinutils amd64 2.42-4ubuntu2 [572 kB]
Get:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libctf-nobfd0 amd64 2.42-4ubuntu2 [97.1 kB]
Get:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libctf0 amd64 2.42-4ubuntu2 [94.5 kB]
Get:6 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libgprofng0 amd64 2.42-4ubuntu2 [851 kB]
Get:7 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 binutils-x86-64-linux-gnu amd64 2.42-4ubuntu2 [2,469 kB]
Get:8 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 binutils amd64 2.42-4ubuntu2 [18.0 kB]
Get:9 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 gcc-13-base amd64 13.2.0-23ubuntu4 [49.0 kB]
Get:10 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libisl23 amd64 0.26-3build1 [680 kB]
Get:11 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libmpc3 amd64 1.3.1-1build1 [54.5 kB]
Get:12 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 cpp-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [11.2 MB]
Get:13 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 cpp-13 amd64 13.2.0-23ubuntu4 [1,032 B]
Get:14 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 cpp-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [5,326 B]
Get:15 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 cpp amd64 4:13.2.0-7ubuntu1 [22.4 kB]
Get:16 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libcc1-0 amd64 14-20240412-0ubuntu1 [47.7 kB]
Get:17 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libgomp1 amd64 14-20240412-0ubuntu1 [147 kB]
Get:18 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libitm1 amd64 14-20240412-0ubuntu1 [28.9 kB]
Get:19 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libatomic1 amd64 14-20240412-0ubuntu1 [10.4 kB]
Get:20 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libasan8 amd64 14-20240412-0ubuntu1 [3,024 kB]
Get:21 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 liblsan0 amd64 14-20240412-0ubuntu1 [1,313 kB]
Get:22 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libtsan2 amd64 14-20240412-0ubuntu1 [2,736 kB]
Get:23 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libubsan1 amd64 14-20240412-0ubuntu1 [1,175 kB]
Get:24 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libhwasan0 amd64 14-20240412-0ubuntu1 [1,632 kB]
Get:25 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libquadmath0 amd64 14-20240412-0ubuntu1 [153 kB]
Get:26 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 libgcc-13-dev amd64 13.2.0-23ubuntu4 [2,688 kB]
Get:27 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 gcc-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [21.9 MB]
Get:28 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 gcc-13 amd64 13.2.0-23ubuntu4 [482 kB]
Get:29 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 gcc-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [1,212 B]
Get:30 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/main amd64 gcc amd64 4:13.2.0-7ubuntu1 [5,018 B]
Fetched 51.6 MB in 4s (12.8 MB/s)
Selecting previously unselected package binutils-common:amd64.
(Reading database ... 83311 files and directories currently installed.)
Preparing to unpack .../00-binutils-common_2.42-4ubuntu2_amd64.deb ...
Unpacking binutils-common:amd64 (2.42-4ubuntu2) ...
Selecting previously unselected package libsframe1:amd64.
Preparing to unpack .../01-libsframe1_2.42-4ubuntu2_amd64.deb ...
Unpacking libsframe1:amd64 (2.42-4ubuntu2) ...
Selecting previously unselected package libbinutils:amd64.
Preparing to unpack .../02-libbinutils_2.42-4ubuntu2_amd64.deb ...
Unpacking libbinutils:amd64 (2.42-4ubuntu2) ...
Selecting previously unselected package libctf-nobfd0:amd64.
Preparing to unpack .../03-libctf-nobfd0_2.42-4ubuntu2_amd64.deb ...
Unpacking libctf-nobfd0:amd64 (2.42-4ubuntu2) ...
Selecting previously unselected package libctf0:amd64.
Preparing to unpack .../04-libctf0_2.42-4ubuntu2_amd64.deb ...
Unpacking libctf0:amd64 (2.42-4ubuntu2) ...
Selecting previously unselected package libgprofng0:amd64.
Preparing to unpack .../05-libgprofng0_2.42-4ubuntu2_amd64.deb ...
Unpacking libgprofng0:amd64 (2.42-4ubuntu2) ...
Selecting previously unselected package binutils-x86-64-linux-gnu.
Preparing to unpack .../06-binutils-x86-64-linux-gnu_2.42-4ubuntu2_amd64.deb ...
Unpacking binutils-x86-64-linux-gnu (2.42-4ubuntu2) ...
Selecting previously unselected package binutils.
Preparing to unpack .../07-binutils_2.42-4ubuntu2_amd64.deb ...
Unpacking binutils (2.42-4ubuntu2) ...
Selecting previously unselected package gcc-13-base:amd64.
Preparing to unpack .../08-gcc-13-base_13.2.0-23ubuntu4_amd64.deb ...
Unpacking gcc-13-base:amd64 (13.2.0-23ubuntu4) ...
Selecting previously unselected package libisl23:amd64.
Preparing to unpack .../09-libisl23_0.26-3build1_amd64.deb ...
Unpacking libisl23:amd64 (0.26-3build1) ...
Selecting previously unselected package libmpc3:amd64.
Preparing to unpack .../10-libmpc3_1.3.1-1build1_amd64.deb ...
Unpacking libmpc3:amd64 (1.3.1-1build1) ...
Selecting previously unselected package cpp-13-x86-64-linux-gnu.
Preparing to unpack .../11-cpp-13-x86-64-linux-gnu_13.2.0-23ubuntu4_amd64.deb ...
Unpacking cpp-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ...
Selecting previously unselected package cpp-13.
Preparing to unpack .../12-cpp-13_13.2.0-23ubuntu4_amd64.deb ...
Unpacking cpp-13 (13.2.0-23ubuntu4) ...
Selecting previously unselected package cpp-x86-64-linux-gnu.
Preparing to unpack .../13-cpp-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ...
Unpacking cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
Selecting previously unselected package cpp.
Preparing to unpack .../14-cpp_4%3a13.2.0-7ubuntu1_amd64.deb ...
Unpacking cpp (4:13.2.0-7ubuntu1) ...
Selecting previously unselected package libcc1-0:amd64.
Preparing to unpack .../15-libcc1-0_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libcc1-0:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../16-libgomp1_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libgomp1:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libitm1:amd64.
Preparing to unpack .../17-libitm1_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libitm1:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libatomic1:amd64.
Preparing to unpack .../18-libatomic1_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libatomic1:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libasan8:amd64.
Preparing to unpack .../19-libasan8_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libasan8:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package liblsan0:amd64.
Preparing to unpack .../20-liblsan0_14-20240412-0ubuntu1_amd64.deb ...
Unpacking liblsan0:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libtsan2:amd64.
Preparing to unpack .../21-libtsan2_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libtsan2:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libubsan1:amd64.
Preparing to unpack .../22-libubsan1_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libubsan1:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libhwasan0:amd64.
Preparing to unpack .../23-libhwasan0_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libhwasan0:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libquadmath0:amd64.
Preparing to unpack .../24-libquadmath0_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libquadmath0:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libgcc-13-dev:amd64.
Preparing to unpack .../25-libgcc-13-dev_13.2.0-23ubuntu4_amd64.deb ...
Unpacking libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ...
Selecting previously unselected package gcc-13-x86-64-linux-gnu.
Preparing to unpack .../26-gcc-13-x86-64-linux-gnu_13.2.0-23ubuntu4_amd64.deb ...
Unpacking gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ...
Selecting previously unselected package gcc-13.
Preparing to unpack .../27-gcc-13_13.2.0-23ubuntu4_amd64.deb ...
Unpacking gcc-13 (13.2.0-23ubuntu4) ...
Selecting previously unselected package gcc-x86-64-linux-gnu.
Preparing to unpack .../28-gcc-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ...
Unpacking gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
Selecting previously unselected package gcc.
Preparing to unpack .../29-gcc_4%3a13.2.0-7ubuntu1_amd64.deb ...
Unpacking gcc (4:13.2.0-7ubuntu1) ...
Setting up binutils-common:amd64 (2.42-4ubuntu2) ...
Setting up libctf-nobfd0:amd64 (2.42-4ubuntu2) ...
Setting up libgomp1:amd64 (14-20240412-0ubuntu1) ...
Setting up libsframe1:amd64 (2.42-4ubuntu2) ...
Setting up gcc-13-base:amd64 (13.2.0-23ubuntu4) ...
Setting up libquadmath0:amd64 (14-20240412-0ubuntu1) ...
Setting up libmpc3:amd64 (1.3.1-1build1) ...
Setting up libatomic1:amd64 (14-20240412-0ubuntu1) ...
Setting up libubsan1:amd64 (14-20240412-0ubuntu1) ...
Setting up libhwasan0:amd64 (14-20240412-0ubuntu1) ...
Setting up libasan8:amd64 (14-20240412-0ubuntu1) ...
Setting up libtsan2:amd64 (14-20240412-0ubuntu1) ...
Setting up libbinutils:amd64 (2.42-4ubuntu2) ...
Setting up libisl23:amd64 (0.26-3build1) ...
Setting up libcc1-0:amd64 (14-20240412-0ubuntu1) ...
Setting up liblsan0:amd64 (14-20240412-0ubuntu1) ...
Setting up libitm1:amd64 (14-20240412-0ubuntu1) ...
Setting up libctf0:amd64 (2.42-4ubuntu2) ...
Setting up cpp-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ...
Setting up libgprofng0:amd64 (2.42-4ubuntu2) ...
Setting up libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ...
Setting up binutils-x86-64-linux-gnu (2.42-4ubuntu2) ...
Setting up cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
Setting up cpp-13 (13.2.0-23ubuntu4) ...
Setting up gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ...
Setting up binutils (2.42-4ubuntu2) ...
Setting up gcc-13 (13.2.0-23ubuntu4) ...
Setting up cpp (4:13.2.0-7ubuntu1) ...
Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
Setting up gcc (4:13.2.0-7ubuntu1) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.1) ...
Scanning processes...                                                                                                                                                                               
Scanning linux images...                                                                                                                                                                            Running kernel seems to be up-to-date.No services need to be restarted.No containers need to be restarted.No user sessions are running outdated binaries.No VM guests are running outdated hypervisor (qemu) binaries on this host.

安装了gcc以后,重新运行就可以了:

zhangdapeng@zhangdapeng:~/code/rust/hello$ cargo runCompiling hello v0.1.0 (/home/zhangdapeng/code/rust/hello)Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37sRunning `target/debug/hello`
Hello, world!

这个命令会生成一个可执行文件:

zhangdapeng@zhangdapeng:~/code/rust/hello$ ls target/debug/
build  deps  examples  hello  hello.d  incremental

我们也可以直接调用可执行文件运行:

zhangdapeng@zhangdapeng:~/code/rust/hello$ ./target/debug/hello 
Hello, world!

cargo还贴心的给我们准备了清理调试代码的功能:

zhangdapeng@zhangdapeng:~/code/rust/hello$ cargo cleanRemoved 21 files, 7.3MiB total
zhangdapeng@zhangdapeng:~/code/rust/hello$ ls -lah
total 28K
drwxrwxr-x 4 zhangdapeng zhangdapeng 4.0K May 14 09:34 .
drwxrwxr-x 3 zhangdapeng zhangdapeng 4.0K May 14 09:19 ..
-rw-rw-r-- 1 zhangdapeng zhangdapeng  149 May 14 09:24 Cargo.lock
-rw-rw-r-- 1 zhangdapeng zhangdapeng   76 May 14 09:19 Cargo.toml
drwxrwxr-x 6 zhangdapeng zhangdapeng 4.0K May 14 09:19 .git
-rw-rw-r-- 1 zhangdapeng zhangdapeng    8 May 14 09:19 .gitignore
drwxrwxr-x 2 zhangdapeng zhangdapeng 4.0K May 14 09:19 src

相关文章:

第一个Rust程序

在安装好Rust以后,我们就可以编写程序了。 首先,我们执行下面的命令,尽量让你的rust版本和我的版本相同,或者比我的版本大。 zhangdapengzhangdapeng:~$ cargo --version cargo 1.78.0 (54d8815d0 2024-03-26) zhangdapengzhangd…...

【LInux】<基础IO> 文件操作 | 文件描述符 | 重定向

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…...

MySQL--增、删、改、查,

数据库的概述、发展、现状、历史、分类 MySQL关系型数据库、架构(C/S) window系统安装MySQL数据库 Linux系统【选学】 数据库对象——数据库(database) show、create、drop命令 数据库对象——表(table&#xff…...

5.12学习总结

一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下: 服务器端启动:聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象,并通过调用 accept() 方法等待客户端的连接请求。客户…...

ansible利用playbook 部署lamp架构

搭建参考:ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…...

SPI通信(使用SPI读写W25Q64)

SPI通信协议 • SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 • 四根通信线: SCLK:串行时钟线,用来提供时钟信号的。 MOSI:主机输出,从机输入 MISO:从机输出,主机输入 SS:…...

<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义

<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义 一 、前言二、拓扑图 XML 定义2.1 <Node, port, link>2.2 < XML prolog >2.3 < UsecaseDef >2.4 < Usecase>2.5 < Targets>2.5.1 < Target>2.5.2 < Range>2.6 < Pipeline>2.…...

使用C++11实现Golang的defer功能

本文主要用C11标准来实现Golang的defer功能。 背景 目前笔者的主力语言是Golang&#xff0c;其次是C&#xff0c;再次是JS、Delphi。在Golang工程中大量使用了defer关键字实现函数的延迟调用。如打开文件的出错处理。近来在C工程中遇到类似需求&#xff0c;在函数返回时进行某…...

前端之电力系统SVG图低代码

其实所有的图形都是由点&#xff0c;线&#xff0c;面组成的。点线面可以组成一个设备。下面就简单讲讲点线面是怎么画的吧 对于线&#xff0c;可以用path <g><path:d"M ${beginX},${beginY} L ${endX},${endY}":stroke-width"lineWidth":strok…...

括号生成[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 数字n代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())(…...

配置ubuntu的VNC时遇到报错_XSERVTransmkdir: Mode of /tmp/.X11-unix should be set to 1777

现在win11内嵌了ubuntu系统&#xff0c;我在根据打造基于 VNC 的 Ubuntu 20.04 的远程桌面 配置VNC server时&#xff0c;到了 vncserver :1 这一步&#xff0c;遇到报错&#xff1a; vncserver: /usr/bin/Xtigervnc did not start up, please look into /root/.vnc/xxxxx.:1.…...

openstack部署nova中出现的问题:

[rootcontroller nova]# su -s /bin/sh -c “nova-manage db sync” nova /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate index block_device_mapping_instance_uuid_virtual_name_device_name_idx. This is deprecated and will be…...

【OpenCV 基础知识 3】边缘检测

文章目录 cvCanny完整示例代码 cvCanny 这行代码使用OpenCV库中的 cvCanny 函数对灰度图像进行边缘检测。让我解释一下&#xff1a; cvCanny(gray, dst, 10, 100, 3);gray: 这是输入的灰度图像&#xff0c;即要进行边缘检测的图像。dst: 这是输出的边缘图像&#xff0c;即将结…...

拓宽知识储备量(指数级成长)

对于增强自己的知识储备&#xff0c;不是什么知识都往脑袋里去塞&#xff0c;最好的办法就是让自己的心态回到自己初心的时候&#xff0c;始终保值一颗学者的心&#xff0c;你像那些成功人士&#xff0c;比如格力&#xff0c;华为&#xff0c;腾讯等这样的大公司创始人哪个不是…...

x264 帧类型代价计算原理:slicetype_mb_cost 函数分析

slicetype_mb_cost 函数 函数功能 计算每个宏块 MB 的代价 cost。函数参数分析 x264_t *h:全局编码结构体x264_mb_analysis_t *a:宏块分析结构体x264_frame_t **frames:系列帧数据结构体int p0:帧序号之一,一般指向靠前帧int p1:帧序号之一,一般指向靠后帧int b:帧标志…...

战网国际服加速器哪个好用 暴雪战网免费加速器分享

战网国际服&#xff08;Battle.net International或Battle.net Global&#xff09;是由暴雪娱乐公司&#xff08;Blizzard Entertainment&#xff09;运营的面向全球玩家的多人在线游戏平台。与专注于特定地区的版本不同&#xff0c;国际服允许玩家不受地域限制地访问暴雪的多款…...

Java入门基础学习笔记26——break,continue

跳转关键字&#xff1a; break&#xff1a; 跳出并结束当前所在循环的执行。 continue&#xff1a; 用于跳出当前循环中的当次执行&#xff0c;直接进入循环中的下一次执行。 package cn.ensource.loop;public class BreakContinueDemo8 {public static void main(String[] a…...

HNU-算法设计与分析-作业6

第六次作业【分支限界法】 文章目录 第六次作业【分支限界法】<1> 算法实现题6-2 最小权顶点覆盖问题<2> 算法实现题6-6 n后问题<3> 算法实现题6-7 布线问题 <1> 算法实现题6-2 最小权顶点覆盖问题 ▲问题重述 问题描述&#xff1a; 给定一个赋权无向…...

2D Chests Assets - Mega Pack

科幻/奇幻/经典主题的箱子和容器。AAA质量,高分辨率,VFX,源PSD文件。 这是一个带有手绘套装的大包装: -【梦幻之栗】 -【科幻钱包】 AAA质量。高分辨率。一切都已准备就绪,可供使用。包括PSD文件。 在1.1版本中添加了VFX并将项目更新为URP。请注意,新的VFX仅适用于URP/HD…...

一种基于电场连续性的高压MOSFET紧凑模型,用于精确表征电容特性

来源&#xff1a;A Compact Model of High-Voltage MOSFET Based on Electric Field Continuity for Accurate Characterization of Capacitance&#xff08;TED 24年&#xff09; 摘要 本文提出了一种新的高压MOSFET&#xff08;HV MOS&#xff09;紧凑模型&#xff0c;以消…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用

阻止除自定义标签之外的所有标签 先输入一些标签测试&#xff0c;说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时&#xff08;如通过点击或键盘导航&…...

触发DMA传输错误中断问题排查

在STM32项目中&#xff0c;集成BLE模块后触发DMA传输错误中断&#xff08;DMA2_Stream1_IRQHandler进入错误流程&#xff09;&#xff0c;但单独运行BLE模块时正常&#xff0c;表明问题可能源于原有线程与BLE模块的交互冲突。以下是逐步排查与解决方案&#xff1a; 一、问题根源…...

EC2安装WebRTC sdk-c环境、构建、编译

1、登录新的ec2实例&#xff0c;证书可以跟之前的实例用一个&#xff1a; ssh -v -i ~/Documents/cert/qa.pem ec2-user70.xxx.165.xxx 2、按照sdk-c demo中readme的描述开始安装环境&#xff1a; https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c 2…...