【ChatGPT辅助学Rust | 基础系列 | Hello, Rust】编写并运行第一个Rust程序

news2024/11/17 22:28:59

在这里插入图片描述

文章目录

  • 前言
  • 一,创建项目
  • 二,两种编译方式
    • 1. 使用rustc编译器编译
    • 2. 使用Cargo编译
  • 总结

前言

在开始学习任何一门新的编程语言时,都会从编写一个简单的 “Hello, World!” 程序开始。在这一章节中,将会介绍如何在Rust中编写并运行第一个程序。

一,创建项目

在终端中,使用Cargo(Rust的构建系统和包管理器)创建一个新的二进制项目。输入以下命令:

cargo new hello_rust

这将会在当前目录下创建一个名为 “hello_rust” 的新目录,其中包含了一个基本的Rust项目。进入这个新创建的目录:

cd hello_rust

在 “hello_rust” 目录中,会看到一个名为 “src” 的目录和一个 “Cargo.toml” 文件。“src” 目录是源代码的存放位置,“Cargo.toml” 文件是项目的配置文件。

在 “src” 目录中,有一个名为 “main.rs” 的文件,这是Rust程序的入口点。打开 “main.rs” 文件,会看到以下内容:

fn main() {
    println!("Hello, world!");
}

这就是一个简单的 “Hello, World!” 程序。在这个程序中,fn main() 是程序的入口点,println! 是一个宏,用于在控制台打印一行文本。

二,两种编译方式

在Rust中,有两种主要的编译方式:直接使用rustc编译器编译和使用Cargo编译。

1. 使用rustc编译器编译

rustc是Rust的编译器,可以直接编译Rust源代码文件。例如,有一个名为main.rs的Rust源代码文件,可以使用以下命令编译:

rustc main.rs

这将会生成一个名为main(在Windows上是main.exe)的可执行文件。然后,可以直接运行这个可执行文件:

./main

这将会运行程序,并输出结果。

使用rustc编译器编译是一种简单直接的方式,适合于小型的、单文件的Rust程序。但是,对于大型的、多文件的Rust项目,使用rustc编译器编译会变得非常复杂和困难。

2. 使用Cargo编译

Cargo是Rust的构建系统和包管理器,可以自动处理项目的构建过程,包括编译代码、下载依赖包等。

接下来,使用Cargo编译并运行项目,在Cargo.toml所在目录执行下述命令:

cargo run

这将会编译并运行项目,输出结果。

使用Cargo编译是一种更高级的方式,适合于大型的、多文件的Rust项目。Cargo可以自动处理项目的构建过程,使得编译变得更加简单和方便。

总结

使用rustc编译器编译和使用Cargo编译都是编译Rust程序的有效方式,选择哪种方式取决于项目的大小和复杂性。

下一章我们将进入Rust的语法学习,感谢大家关注。

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

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

相关文章

音频编辑必备技能:怎么将音频转换mp3

丽萨:嘿,听说你最近在研究音频格式转换的方法,有眉目了吗? 凯瑞:没错,我下载了很多高清音乐,发现有些格式的音频文件在我的播放器上打不开,所以想一个转换工具。但是网上软件太多&a…

使用腾讯云 Cloud studio 实现调度百度AI实现文字识别

文章目录 前言导入模块设置百度AI的APP_ID、API_KEY和SECRET_KEY定义路径和文件列表打开文本文件准备写入数据逐个处理图片文件关闭文本文件重复处理其他图片文件完整代码解释说明 运行效果 前言 今天我们也来高大上一下,玩一把人工智能。那就是免费调用百度AI实现图…

站外引流效果差?一文带你搞懂解海外主流社交媒体算法!

在流量成本越来越高的当下,无论是平台卖家还是独立站卖家都在努力拓展流量渠道。站外引流是推动业务增长的关键策略,很多卖家会把重点放在内容营销上,但其实除了做好内容之前,了解社交媒体的算法才能让营销效果最大化。 01.Faceb…

操作系统专栏2进程管理from 小林coding

进程管理 基本概念进程控制进程上下文切换 线程进程和线程的比较进程通信管道消息队列共享内存信号量信号socket 基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元.并行和并发:状态: 其中挂起是指没有给程序分配实际…

一百三十八、ClickHouse——使用clickhouse-backup备份ClickHouse库表

一、目标 使用clickhouse-backup在本地全库备份ClickHouse的数据库 二、前提 已经安装好clickhouse-backup 注意:由于之前同事已经按照好clickhouse-backup,所以我就没有安装 如有需要请参考其他人的博客安装一下,下面是我认为比较好的一…

如何看待前端已死这个问题(大学生篇)

小编刚大学毕业,还记得是大三的时候选择的前端开发方向,那个时候行情其实并没有这么差,最近互联网上讨论这一个很火的话题,叫前端已死。那么我就说说我的看法吧,虽然可能比起行业的大佬会比较短浅,但我想就…

盘点12个Vue 3的高颜值UI组件库

今天给大家盘点12个Vue 3的高颜值UI组件库,凡是用过Vue 框架开发项目的老铁们最少有用过其中一种或者二种以上的UI组件库,用广东话讲:个个都靓。 今天给大家盘点12个Vue 3的高颜值UI组件库,凡是用过Vue 框架开发项目的老铁们最少有…

【我们一起60天准备考研算法面试(大全)-第三十天 30/60】【矩阵翻转】【矩阵相乘】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

一文读懂原生应用与混合应用

大家对于原生应用和混合应用已经非常熟悉了,这里就不再进行详细的介绍,用通俗易懂的话解释下他们的一些特点。 1、原生应用 在 Android、iOS 等移动平台上利用提供的开发语言、开发类库、开发工具进行 App 软件开发。比如 Android 是用 Java、Eclipse、…

日撸代码300行:第59天(数值型数据的 NB 算法)

代码来自闵老师”日撸 Java 三百行(51-60天)“,链接:https://blog.csdn.net/minfanphd/article/details/116975957 相较于符号型数据,数值型是将实例的概率密度带入进行概率计算。数值型数据仅需要对决策属性那里进行…

Vue 基础语法(二)

一、背景: 我们对于基础语法,说白了就是实现元素赋值,循环,判断,以及事件响应即可! 二、v-bind 我们已经成功创建了第一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,但是 V…

性能测试/负载测试/压力测试之间的区别

做测试一年多来,虽然平时的工作都能很好的完成,但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺,所以,在工作之余也做了一些测试方面的知识的补充。不足之处,还请大家多多交流,互相学习。 …

全网最细,性能测试-接口压测 Locust固件实战,从0到1进阶...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 python如何进行性…

基于YOLOv5的S弯识别

基于YOLOv5的S弯识别 目录 基于YOLOv5的S弯识别技术背景算法介绍具体实现1、下载仓库2、配置环境3、数据处理4、转成engine文件5、使用代码实现识别 技术总结 技术背景 S弯识别是一个在自动驾驶和机器人领域中很常见的任务,它需要识别道路上的弯道,特别…

springboot+mybatis-flex初体验

mybatis作为一款应用非常广泛的持久层框架,随之又出现了mybatis的增强框架。mybatis的增强框架就是在mybatis 的基础上又添加了许多的功能,目的就是为简化开发,提供效率而生。mybatis-plus就是一款很流行的增加框架,在 mybatis-pl…

小程序学习(四):WXML模板语法

WXML模板语法-数据绑定 1.数据绑定的基本原则 ①在data中定义数据 ②在WXML中使用数据 2.动态绑定属性 WXML模板语法-事件绑定 3.什么是事件 4.小程序中常用的事件 5.事件对象的属性列表 6.target和currentTarget的区别 7.bindtap的语法格式 8.在事件处理函数中为data中的数据…

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(六)

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟 …

校园跑腿小程序功能分享

提起校园跑腿小程序大家都不陌生,尤其是对上大学的伙伴们来说,更是熟悉得不能再熟悉了,和我们的生活息息相关,密不可分。 对于现在的年轻人来说,网购是非常简单和方便的一种购物方式,随之快递也会越来越多。在我们国家…

rancher2使用helm部署harbor,搭建私有镜像/helm仓库

接上一篇《rancher2安装nfs-subdir-external-provisioner为PVC/PV动态提供存储空间(动态分配卷)》 本篇开始讲如何在rancher2中部署harbor,来搭建一个私有的镜像/helm仓库。 一、安装harbor服务 1. 在目标集群中添加命名空间 2. 将提供harb…

Elbie勒索病毒的最新威胁:如何恢复您的数据?

导言: 在数字时代的浩瀚网络中,隐藏着一支不为人知的黑暗势力,他们的代表之一就是臭名昭著的Elbie勒索病毒。这个神秘的数字幽灵似乎无所不能,几乎每个人都可能成为它的牺牲品。本文91数据恢复将揭示Elbie勒索病毒的背后故事&…