快速编译并执行csapp程序
现在要实现通过c file.c来执行两个过程:
# 1. 根据c文件名生成对应的输出文件 
gcc -I/home/crx/study/csapp/code/include /home/crx/study/csapp/code/src/csapp.c file.c -o file
# 2. 执行输出文件
./file
通过chatgpt的方案是,使用脚本来根据输入文件名自动生成输出文件名。
- 
创建
compile-csapp.sh脚本vim ~/bin/compile-csapp.sh - 
编辑脚本文件
#!/bin/bash # 检查是否提供了源文件作为参数 if [ $# -eq 0 ]; then echo "Usage: c <source_file>" exit 1 fi # 获取文件名,去掉扩展名 .c filename=$(basename "$1" .c) # 编译源文件并链接 gcc -I/home/crx/study/csapp/code/include /home/crx/study/csapp/code/src/csapp.c "$1" -o "$filename" # 执行生成的可执行文件 ./"$filename"- “#!”是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行。
 
 - 
放权限
chmod +x ~/bin/compile-csapp.sh - 
确保
~/bin在PATH中为了让系统能够识别
c命令并执行,需要确保~/bin目录在PATH环境变量中。打开
~/.bashrc文件:vim ~/.bashrc将指令
c与脚本compile-csapp.sh链接alias c="~/bin/compile-csapp.sh" - 
刷新
./bashrcsource ~/.bashrc 
此时在/home/crx/study/csapp/code/ecf目录执行c fork.c
crx@ubuntu:ecf$ c fork.c 
parent: x=0
child : x=2
crx@ubuntu:ecf$ c
Usage: c <source_file>
可以看到已经实现了我们想要的结果。
                    
                
                
            
        
浙公网安备 33010602011771号