说明
该脚本实现的功能是:利用gcc编译器自动编译C/C++源代码生成可执行文件,并自动执行该程序。值得注意的是,编译后生成的可执行文件名以源代码文件名命令(不包含后缀),如果有多个源代码文件,生成的文件以第一个源代码文件名为准。
源代码文件必须是.c(c源码)或.cpp(c++源码)结尾,如果包含的多个源文件既包含.c结尾,又包含.cpp结尾,则以第一个源文件的格式为标准选择c或c++的编译方式。如果你给定的是绝对路径,则生成的可执行文件在第一个源文件目录下。
实现这个功能我使用了两个脚本,以便于根据需要使用。一个叫gccs,作用是将源代码编译生成可执行文件;第二个叫gcce,其作用是调用gccs生成可执行文件,再执行该可执行文件。
代码
/bin/gccs
#!/bin/bash
#
ARGC="-std=c99" # c file arguments
ARGCPP="-lstdc++ -std=c++11" # c++ file arguments
## check
if [ $# -lt 1 ]; then
echo -e "\033[31mBad parameter.\033[0m \nYou must give 1 or more parameters!"
exit 1
fi
if [ $# -eq 1 -a $1 == "-h" -o $1 == "help&