在Linux中一键编译你的C程序,在Linux中一键编译你的C程序

WHAT IS THIS

在linux中,除去IDE外,最常见的就是使用vim编写c程序,然后用gcc编译链接成可执行文件。这样的话需要在vim,shell中来回切换,还要输入gcc不同的参数,比较复杂。所以笔者用一下方法一键编译C程序,在这个过程中也学习makefile的编写以及脚本的编写,收获还是很多的。

第一步:编写你的makefile

编写makefile是为了省去编译时输入的gcc参数,让make进行自动化编译。具体makefile的作用和用法,再次就不多做介绍。

CFLAGS := -I$(shell pwd) -Wall

CFLAGS += -O2

OBJ = $(TARGET).o

OBJ += $(INC:%.h=%.o)

$(TARGET):$(OBJ)

gcc $(CFLAGS) $(OBJ) -o $(TARGET)

%.o : %.c

gcc -c $(CFLAGS) $< #-o $@

.PHONY:clean

clean:

rm -f *.o *.out

makefile的编写不是本篇的重点,所以就大致说一下该makefile的作用:TARGET是要生成的二进制可执行文件,OBJ是目标文件,INC是可能需要的头文件,CFLAGS是c编译器的参数,TARGET、INC由make脚本给出。makefile描述了TARGET是怎么生成的,以及定义了模式规则。make通过这个makefile,就可以用来编译一个.c文件。

第二步:编写Make脚本

Make脚本是方便make编译。

#!/bin/sh

export TARGET="process_attribute"

echo $TARGET

export INC="Lib.h"

pwd=$PWD

clear

echo "Clean ..."

make clean

echo -e "\nMaking ..."

make

RET=$?

check()

{

if [ $1 -eq 0 ]

then

echo -e "\nMake success !\nExecute the program !\n"

echo "--------------------------------------------"

else

echo -e "\nMake error!\n"

exit 1

fi

return 0

}

check $RET

EXEC=$pwd/$TARGET

$EXEC;

echo "--------------------------------------------"

Make脚本的作用:在Make脚本中设置要编译的文件,以及所需要的头文件,然后就可以执行make命令,如果make成功的话,再打印运行结果。

第三步:设置快捷键

在VIM中输入:!就可以执行shell命令,所以如果将Make脚本保存为”Make.sh”的话,在VIM中输入”#!./Make.sh”,就可以执行Make脚本了。你还可以将”#!./Make.sh”设置成快捷键,那样的话,直接按快捷键就可以直接编译,是不是有种在IDE中编译的感觉呢?笔者是在xshell中设置的快捷键

7d4a5bad46042b603521203c1d055dd3.png

第四步:运行结果

这是在vim中执行Make.sh脚本:

7256f94457bfc4a7f80dcca51cc9cbbf.png

这是执行脚本的结果:

7025f60a432f7e8dba4c8355a2cf1c36.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值