bash編譯C檔案

2021-07-28 02:37:13 字數 482 閱讀 9626

由於makeifle檔案執行失敗時會退出編譯,當遇到編譯錯誤時,後續的c檔案就不能繼續執行,即便c檔案之間不存在依賴關係,用shell可以簡便的實現遇到錯誤繼續執行編譯。

#!/usr/bin/bash

va1=/home/zhaozl/dir

sva1=$"/sdir/src"

sva2=$"/sdir/inc"

va2=/home/zhaozl/si

bva2=$"/lib"

bva4=$"/common/inc"

va3="-g -ansi -wall -wextra -i$ -i$ -i$"

rm 2.log

rm -rf /home/zhaozl/dir/sdir/*.o 

rm -rf $"/*.o"

touch 2.log

for file in $"/*.c"

docc -c $ $ 2>>2.log

done

bash 檔案測試

a e 檔案存在 存在性類別測試 b 存在且為塊裝置檔案 例如 b etc grub2.cfg c 字元裝置 d 目錄檔案 f 普通檔案 p 命名管道檔案 h l 符號鏈結檔案 s 套接字檔案 許可權測試 r w x 檔案是否存在並且擁有。許可權 特殊許可權 g 存在且存在sgid許可權 u sui...

c檔案編譯過程

編譯的完整過程 c源程式 預編譯處理 生成.c檔案 編譯 優化程式 生成.s s asm檔案 匯程式設計序 生成.obj o a ko檔案 鏈結程式 生成.exe slf axf hex檔案 預處理 將所有的偽指令和特殊符號進行替換,經過替換,生成乙個沒有巨集定義,沒有條件編譯指令,沒有標頭檔案,沒...

gcc編譯c 檔案

gcc是編譯c語言的,預設情況下,如果直接編譯c 程式,會報錯 root server demo2 ls hello.cpp root server demo2 cat hello.cpp include using namespace std int main endifcircle.cpp in...