我最近开始做一些与 C 和 C++ 相关的项目,但安装和编译器设置花费了太多时间。我在 Google 上搜索安装方法,但大家都告诉我关于 GCC 和 G++ 编译器 的信息。同时,我是 Mac 用户,所以默认的 Xcode 中带有 Clang 库,但我想具体使用 GCC 或 G++。
如你所知,Jetbrains Clion IDE 不是免费的。因此,我们开发者主要依赖 VSCode。最后,我决定制作一个可以自动设置 C & C++ 编译器 的工具。
我知道 Mac 支持 Homebrew,而它可以做到这一点。所以,我开始开发一个名为 mac_script.sh 的脚本。
这个脚本并不复杂,我只是自动化了一些操作。让我与您分享这个脚本,以便了解它背后的工作原理。
C/C++ 编译器安装脚本
#!/bin/bash
# 检查命令是否存在
command_exists() {
command -v "$1" >/dev/null 2>&1
}
# 显示帮助
show_help() {
echo "用法: $0 [--help]"
echo
echo "此脚本在 macOS 上安装 Homebrew 和 GCC(如果尚未安装)。"
echo "它还创建一个脚本来编译和运行 C/C++ 代码。"
echo
echo "选项:"
echo " --help 显示此帮助信息并退出"
}
# 检查 --help 参数
if [ "$1" == "--help" ]; then
show_help
exit 0
fi
# 检测操作系统
OS="$(uname -s)"
# 如果未安装 Homebrew,则在 macOS 上安装
if [ "$OS" == "Darwin" ]; then
if ! command_exists brew; then
echo "未找到 Homebrew. 正在安装 Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
else
echo "Homebrew 已安装。"
fi
# 如果未安装 GCC,则安装
if ! command_exists gcc; then
echo "未找到 GCC. 正在安装 GCC..."
brew install gcc
else
echo "GCC 已安装。"
fi
# 创建一个编译和运行 C/C++ 代码的脚本
cat << 'EOF' > compile_and_run.sh
#!/bin/bash
# 检查是否提供了文件
if [ -z "$1" ]; then
echo "用法: $0 <源文件>"
exit 1
fi
# 获取文件扩展名
EXT="${1##*.}"
# 根据文件扩展名编译和运行
if [ "$EXT" == "c" ]; then
gcc "$1" -o "${1%.c}" && "./${1%.c}"
elif [ "$EXT" == "cpp" ]; then
g++ "$1" -o "${1%.cpp}" && "./${1%.cpp}"
else
echo "不支持的文件扩展名: $EXT"
exit 1
fi
EOF
# 使脚本可执行
chmod +x mac_script.sh
echo "编译和运行 C/C++ 代码的脚本已创建为 mac_script.sh"
# 运行 compile_and_run.sh 脚本
./mac_script.sh <源文件>
else
echo "此脚本旨在运行在 macOS 上。"
exit 1
fi
让我告诉你如何运行这个脚本。
安装
要安装编译器,请在终端中运行以下命令:
sudo chmod +x mac_script.sh
这将下载编译器并安装到你的系统上。你可能需要输入密码来允许安装。
使用
一旦编译器安装完成,你可以使用它编译和运行程序。要编译程序,请运行以下命令:
sudo mac_script.sh program.c
sudo mac_script.sh program.cpp
就这样!!!
结论
运行脚本后,一切如预期般顺利。分享这个的原因并不仅仅是脚本。我的主要目的是告诉你,使用 shell 或 bash 脚本可以做到很多事情。试一次,你会享受其中。或者你可以为这个项目贡献代码,升级这个脚本,甚至为 Windows 和 Linux 制作相应的版本并添加更多功能。