在linux中,除去ide外,最常見的就是使用vim編寫c程式,然後用gcc編譯鏈結成可執行檔案。這樣的話需要在vim,shell中來回切換,還要輸入gcc不同的引數,比較複雜。所以筆者用一下方法一鍵編譯c程式,在這個過程中也學習makefile的編寫以及指令碼的編寫,收穫還是很多的。
編寫makefile是為了省去編譯時輸入的gcc引數,讓make進行自動化編譯。具體makefile的作用和用法,再次就不多做介紹。
makefile的編寫不是本篇的重點,所以就大致說一下該makefile的作用:target是要生成的二進位制可執行檔案,obj是目標檔案,inc是可能需要的標頭檔案,cflags是c編譯器的引數,target、inc由make指令碼給出。makefile描述了target是怎麼生成的,以及定義了模式規則。make通過這個makefile,就可以用來編譯乙個.c檔案。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
make指令碼是方便make編譯。
make指令碼的作用:在make指令碼中設定要編譯的檔案,以及所需要的標頭檔案,然後就可以執行make命令,如果make成功的話,再列印執行結果。#!/bin/sh
export target="process_attribute"
echo
$target
export inc="lib.h"
pwd=$pwd
clear
echo
"clean ..."
make clean
echo
-e"\n****** ..."
make
ret=$?
check
()check $ret
exec=$pwd/$target
$exec;
echo
"--------------------------------------------"
在vim中輸入:!就可以執行shell命令,所以如果將make指令碼儲存為」make.sh」的話,在vim中輸入」#!./make.sh」,就可以執行make指令碼了。你還可以將」#!./make.sh」設定成快捷鍵,那樣的話,直接按快捷鍵就可以直接編譯,是不是有種在ide中編譯的感覺呢?筆者是在xshell中設定的快捷鍵
這是在vim中執行make.sh指令碼:
這是執行指令碼的結果:
Vim C C 的一鍵編譯
開始用vim差不多有兩個月的時間,一開始用makefile 編譯一整個專案無壓力,但是當寫到單個檔案的時候,編譯就比較麻煩了,每次都得 w gcc o 1.exe 1.c 1非常麻煩.所以我都直接用的code blocks.其實比vim快多了哈哈.但是昨晚折騰病發作,想好好來配置一下,於是花了乙個晚...
在ubuntu16 04中一鍵建立LAMP環境
步驟 1 執行命令apt get update。步驟 2 執行命令apt get install lamp server 步驟 3 在安裝過程中會跳出mysql資料庫 root 使用者密碼設定視窗,按要求輸入密碼 123,按 tab鍵選擇 步驟 4 重複輸入密碼 123,按 tab鍵選中 ok 按回...
Rabbitmq在Linux安裝一鍵部署
首先在linux系統連線好源,然後用root許可權安裝和設定 安裝rabbitmq sudo apt get install rabbitmq server sudo rabbitmqctl list users 檢視使用者 sudo rabbitmqctl list vhosts 檢視虛擬主機 s...