centos

CentOS下gcc编译脚本怎么写

小樊
41
2025-09-07 15:46:32
栏目: 智能运维

在CentOS系统下编写一个简单的GCC编译脚本可以帮助你自动化编译C或C++程序。以下是一个基本的示例,展示了如何编写一个Shell脚本来使用GCC编译C程序。

  1. 创建一个C源文件: 首先,创建一个C源文件。例如,创建一个名为hello.c的文件,并添加以下内容:

    #include <stdio.h>
    
    int main() {
        printf("Hello, World!\n");
        return 0;
    }
    
  2. 编写编译脚本: 接下来,创建一个Shell脚本来编译这个C文件。例如,创建一个名为compile.sh的文件,并添加以下内容:

    #!/bin/bash
    
    # 定义源文件和目标文件
    SOURCE_FILE="hello.c"
    OBJECT_FILE="hello.o"
    EXECUTABLE="hello"
    
    # 清理之前的编译文件
    clean() {
        if [ -f $OBJECT_FILE ]; then
            rm -f $OBJECT_FILE
        fi
        if [ -f $EXECUTABLE ]; then
            rm -f $EXECUTABLE
        fi
    }
    
    # 编译源文件
    compile() {
        gcc -c $SOURCE_FILE -o $OBJECT_FILE
        if [ $? -eq 0 ]; then
            echo "Compilation successful!"
            gcc $OBJECT_FILE -o $EXECUTABLE
            if [ $? -eq 0 ]; then
                echo "Linking successful!"
                echo "You can run the program by typing: $EXECUTABLE"
            else
                echo "Linking failed!"
            fi
        else
            echo "Compilation failed!"
        fi
    }
    
    # 主逻辑
    case "$1" in
        clean)
            clean
            ;;
        compile)
            compile
            ;;
        *)
            echo "Usage: $0 {clean|compile}"
            exit 1
    esac
    
  3. 赋予脚本执行权限: 使用chmod命令赋予脚本执行权限:

    chmod +x compile.sh
    
  4. 运行脚本: 现在你可以运行脚本来编译你的C程序:

    ./compile.sh compile
    

    如果你想清理之前的编译文件,可以运行:

    ./compile.sh clean
    

这个脚本包含了一些基本的错误处理和清理功能。你可以根据需要扩展它,例如添加更多的编译选项、支持多个源文件等。

0
看了该问题的人还看了