栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

基于GCC/G++的快速编译运行C/C++的Bash脚本

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于GCC/G++的快速编译运行C/C++的Bash脚本

脚本
#!/bin/bash
tips="尝试执行 "run --help" 获取更多信息。n"
if [[ $1 = "" ]]
then
	printf "缺少参数!n$tips"
elif [[ $1 = "--help" ]]
then 
	printf "此脚本是C/C++程序的快速编译运行脚本。n用法:nrun filename1 filename2 [...]n注意: n1. gcc/g++的选择取决于首个参数的文件名后缀!!!n
2. 生成的二进制文件名为首个参数的文件名。n3. 本脚本暂时只支持在源代码所在文件下运行,参数仅支持n   filename.postfix形式,暂不支持绝对路径和相对路径的形式。n"
else
	flag=${1##*.} # 截取首个参数的文件名后缀
	if [[ $flag = "cpp" ]] # 根据文件名后缀选择编译器
	then
		g++ $*
	elif [[ $flag = "c" ]]
	then 
		gcc $*
	else
		printf "不可编译的文件后缀!n$tips"
	fi
	name=${1%%.*} # 截取文件名
	if [ -f $name ] # 若存在同名二进制文件,先删除,避免链接失败
	then
		rm $name
	fi
	link a.out $name; rm -f a.out; # 链接并删除中间文件
	printf "n"
	./$name		    # 运行编译好的二进制文件
	printf "nn"
fi
痛点

在linux下,编译执行一个C/C++程序要键入多个指令,十分繁琐。故编写了该Bash脚本缩减编译执行步骤。

适用范围

请注意,该脚本仅适用于少量源码文件的编译及运行,项目级程序的编译运行请使用makefile工具。

使用方法

键入如下指令:

vim /usr/local/bin/run
# vim中按i进入插入模式
# 将上述脚本粘贴在vim中
# esc回到普通模式
# vim输入:wq保存退出

完成后在任意目录下输入run --help即可查看使用方法。

待完善的地方
  1. 未能做到以下功能:遍历所有文件名,只要发现.cpp就使用g++编译器,否则使用gcc编译器
  2. 只能在源代码所在文件夹下编译运行,参数只能为文件名+后缀,不能使用绝对路径和相对路径。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号