第1章Hello world 4/5:对比Rust/Java/C++创建和运行Hello world全过程:运行第一个程序
讲动人的故事,写懂人的代码
1.7 对比Rust/Java/C++创建和运行Hello world全过程
有了会听懂人类的讲话,还能做记录的编程助理艾极思,他们三人的讨论内容,都可以变成一份详细的会议纪要啦。
接下来,我们一起看看艾极思是如何记录下赵可菲创建和运行Java程序Hello world,以及席双嘉创建和运行C++程序Hello world的过程,然后与Rust的过程进行对比哦!如表1.1所示。
表1.1 三种语言创建运行Hello world过程对比
过程 | Rust | Java | C++ on macOS | C++ on Ubuntu or WSL2 Ubuntu on Windows 11 | C++ on Windows 11 | |||||
---|---|---|---|---|---|---|---|---|---|---|
环境准备 | 用rustup安装不同版本的Rust | 用SDKMAN!安装不同版本的Java | 用Xcode安装Clang这个单一版本的C++ | 用apt安装GCC这个单一版本的C++ | 用Visual Studio 2022安装单一版本的C++ | |||||
如何验证编译器安装成功 | rustc --version | javac -version | clang++ --version | g++ --version | 在Developer PowerShell for VS 2022里运行:cl -v | |||||
创建Hello world项目代码 | 使用cargo new:cargo new hello_world_rust | 使用gradle init:创建一个文件夹;进入这个文件夹;运行命令:gradle init --type hello_world_java | 使用cmake-init:须先上网搜github friendlyanon cmake-init ,然后安装cmake-init;再运行命令:cmake-init hello_world_cpp | (同左) | (同左) | |||||
格式化代码 | cargo fmt | google-java-format -replace ./app/src/main/java/org/example/App.java | 须先用Homebrew安装clang-format,再运行命令:clang-format -i ./source/main.cpp | 须先用apt安装clang-format,再运行命令:clang-format -i ./source/main.cpp | 须先用 Visual Studio Installer 安装 Clang 工具,再运行命令:clang-format -i ./source/main.cpp | |||||
检查语法错误 | cargo check | ./gradlew compileJava会在app/build文件夹中编译源文件 | clang++ -fsyntax-only ./source/main.cpp | g++ -fsyntax-only ./source/main.cpp | 须先用 Visual Studio Installer 安装 Clang 工具,再运行命令:clang++ -fsyntax-only ./source/main.cpp | |||||
编译 | cargo build会在target/debug文件夹中编译和构建 | (同上) | 运行以下4行命令进行编译和调试构建:第一行mkdir build第二行cd build 第三行cmake -DCMAKE_BUILD_TYPE=Debug .. 第四行cmake --build . | (同左) | 运行以下4行命令进行编译和调试构建:第一行mkdir buil第二行cd build第三行cmake ..第四行cmake --build . --config Debug | |||||
用于开发自测的构建 | (同上) | ./gradlew build会在app/build文件夹中构建jar包 | (同上) | (同上) | (同上) | |||||
开发阶段试运行 | cargo run | ./gradlew run | 直接运行可执行文件 | 直接运行可执行文件 | 直接运行可执行文件 | |||||
生成文档 | cargo doc --open | ./gradlew javadoc | 使用Homebrew安装doxygen;运行命令doxygen -g Doxyfile生成初始Doxyfile;配置Doxyfile;运行命令doxygen Doxyfile | 使用apt安装doxygen;运行命令doxygen -g Doxyfile生成初始Doxyfile;配置Doxyfile;运行命令doxygen Doxyfile | 使用Chocolatey安装doxygen;运行命令doxygen -g Doxyfile生成初始Doxyfile;配置Doxyfile;运行命令doxygen Doxyfile | |||||
构建发布包 | cargo build --release 会在target/release文件夹中构建 | ./gradlew build会在app/build文件夹中构建jar包 | 运行以下4行命令进行编译和发布构建:第一行mkdir -p build_release 第二行cd build-release 第三行cmake -DCMAKE_BUILD_TYPE=Release .. 第四行cmake --build . | (同左) | 运行以下4行命令进行编译和发布构建:第一行mkdir build_release 第二行cd build_release 第三行cmake .. 第四行cmake --build . --config Release | |||||
运行发布后的程序 | 直接运行可执行文件 | java -jar app/build/libs/app.jar | 直接运行可执行文件 | 直接运行可执行文件 | 直接运行可执行文件 | |||||
清除所有构建输出文件 | cargo clean | ./gradlew clean | 直接删除build文件夹 | 直接删除build文件夹 | 直接删除build文件夹 |
这张表格将带你了解在不同编程语言和操作系统上创建并运行Hello world程序的简要步骤。详细命令参见上表。让我们一起开始吧:
-
环境准备:
- Rust:可以用rustup安装不同版本的Rust,以便在同一台电脑上开发不同Rust版本的项目。
- Java:可以用SDKMAN!安装不同版本的Java,以便在同一台电脑上开发不同Java版本的项目。
- C++ on macOS:用Xcode安装Clang。不支持在同一电脑安装多个C++版本。
- C++ on Ubuntu或WSL2 Ubuntu on Windows 11:用apt安装GCC。不支持在同一电脑安装多个C++版本。
- C++ on Windows 11:用Visual Studio 2022安装C++。不支持在同一电脑安装多个C++版本。
-
如何验证编译器安装成功:
- Rust:为了确认一切就绪,我们需要运行
rustc --version
。 - Java:运行
javac --version
,确认Java已经就位。 - C++ on macOS:运行
clang++ --version
,确认Clang已经安装成功。 - C++ on Ubuntu或WSL2 Ubuntu on Windows 11:运行
g++ --version
,确认GCC已经安装成功。 - C++ on Windows 11:在Developer PowerShell for VS 2022里运行
cl -v
,确认Visual Studio 2022已经装好了。
- Rust:为了确认一切就绪,我们需要运行
-
创建Hello world项目代码:
-
Rust:使用
cargo new
创建新的Hello world脚手架项目。 -
Java:使用
gradle init
创建新的Hello world脚手架项目。 -
C++ :
- macOS、Ubuntu或WSL2 Ubuntu on Windows 11和Windows 11:使用
cmake-init
创建新的Hello world脚手架项目。
- macOS、Ubuntu或WSL2 Ubuntu on Windows 11和Windows 11:使用
-
-
格式化代码:
-
Rust:使用
cargo fmt
,让我们的代码遵循统一的格式。 -
Java:使用
google-java-format
,让我们的代码遵循统一的格式。 -
C++ :
- macOS、Ubuntu或WSL2 Ubuntu on Windows 11和Windows 11:使用
clang-format
,让我们的代码遵循统一的格式。
- macOS、Ubuntu或WSL2 Ubuntu on Windows 11和Windows 11:使用
-
-
检查语法错误:
-
Rust:使用
cargo check
,确保我们的代码没有错误。 -
Java:使用
./gradlew compileJava
,检查我们的Java代码是否有问题。 -
C++ :
- macOS和Windows 11:使用
clang++ -fsyntax-only
,确保我们的C++代码没有语法错误。 - **Ubuntu或WSL2 Ubuntu on Windows 11:**使用
g++ -fsyntax-only
,确保C++代码没有语法错误。
- macOS和Windows 11:使用
-
-
编译:
-
Rust:使用
cargo build
,在target/debug文件夹中编译和构建我们的Rust代码。 -
Java:使用
./gradlew compileJava
,在app/build文件夹中编译我们的Java代码。 -
C++ :
- macOS、Windows 11和Ubuntu或WSL2 Ubuntu on Windows 11:先使用能解决跨平台构建复杂性的CMake,生成特定于构建系统(如Makefile、Visual Studio项目等)的构建配置文件,指定构建类型为调试版本;然后再用CMake执行实际的构建过程。
-
-
用于开发自测的构建:
-
Rust:使用
cargo build
,编译和构建我们的Rust代码。 -
Java:使用
./gradlew build
,在app/build文件夹中构建jar包。 -
C++ :
- macOS、Windows 11和Ubuntu或WSL2 Ubuntu on Windows 11:先使用能解决跨平台构建复杂性的CMake,生成特定于构建系统(如Makefile、Visual Studio项目等)的构建配置文件,指定构建类型为调试版本;然后再用CMake执行实际的构建过程。
-
-
开发阶段试运行:
-
Rust:使用
cargo run
,看看我们的Rust代码运行得如何。 -
Java:使用
./gradlew run
,看看我们的Java代码运行得如何。 -
C++ :
- macOS、Ubuntu或WSL2 Ubuntu on Windows 11和Windows 11:直接运行可执行文件,体验我们的C++代码运行效果。
-
-
构建发布包:
-
Rust:使用
cargo build --release
,为我们的Rust项目在target/release文件夹中创建发布包。 -
Java:使用
./gradlew build
,为我们的Java项目在app/build文件夹中创建发布包。 -
C++ :
- macOS、Ubuntu或WSL2 Ubuntu on Windows 11和Windows 11:先使用能解决跨平台构建复杂性的CMake,生成特定于构建系统(如Makefile、Visual Studio项目等)的构建配置文件,指定构建类型为发布版本;然后再用CMake执行实际的构建过程。
-
-
运行发布后的程序:
- Rust、C++ :直接运行可执行文件,享受我们的成果吧!
- Java:使用
java -jar app/build/libs/app.jar
,享受我们的Java项目吧!
-
清除所有构建输出文件:
- Rust:使用
cargo clean
,保持我们的工作环境整洁。 - Java:使用
./gradlew clean
,保持我们的工作环境整洁。 - C++ :直接删除build文件夹,保持我们的工作环境整洁。
- Rust:使用
这个表格总结了使用三种语言,在不同编程环境中从设置环境、创建项目、编写和格式化代码,到检查错误、编译、运行和清理构建文件的整个Hello world创建和运行流程。
(未完待续)
如果喜欢这篇文章,别忘了给文章点个赞,好鼓励我继续写哦~😃
转载自:https://juejin.cn/post/7379117970797428790