在linuc語言下可執行的shell指令碼檔案與編譯之

時間 2021-08-11 18:10:21

1樓:匿名使用者

shell指令碼是shell的一種擴充套件功能,也就是shell會根據你所寫的指令碼一條一條的去執行,c寫的程式是直接給cpu執行的。

一般來說做一些簡單功能,特別是和shell有關的。我們會用shell指令碼,如系統環境的設定,開機後執行系統的初始化等。

做一些功能複雜的,特別人使用者自已所想到的功能時會用c語。另外如果程式執行是要用到root許可權是最好也用c語。

2樓:動力不強

二進位制檔案是機器碼,可直接執行,而shell指令碼是文字,需依賴sh來解析並執行,shell指令碼的第一行一般類似這樣:

#!/bin/sh

有了這行,且有執行權時,就可以支援 ./ 方式執行,如果沒有這行,或沒有執行權時,則只支援 sh *** 這種方式

簡單的識別方法:

用 file 命令識別:

***: elf 64-bit lsb executable, x86-64, version 1 (sysv), dynamically linked (uses shared libs), for gnu/linux 2.6.

32, buildid[sha1]=0x5e6e040ea7ce5bf5dcdfc87398b2f091a1e513f2, stripped

***.sh: posix shell script, ascii text executable

3樓:匿名使用者

c可執行檔案是編譯性檔案,必須經過編譯器編譯過之後,才能執行!

shell指令碼不用你編譯,隨便用一個編輯器,編譯完之後./只要沒語法錯誤就可以執行

linux 不看檔案字尾,字尾是給人看的,a.sh b.sh a(shelle指令碼)都是指令碼檔案.sh是告訴你這個是指令碼檔案

當然可以用 file 要測得檔名檢視檔案型別

在linux c語言下,可執行的shell指令碼檔案與編譯之後的c可執行檔案的區別有哪些 ?

4樓:匿名使用者

shell指令碼是shell的一種擴充套件功能,也就是shell會根據你所寫的指令碼一條一條的去執

行,c寫的程式是內直接給容cpu執行的。一般來說做一些簡單功能,特別是和shell有關的。我們會用shell指令碼,如系統環境的設定,開機後執行系統的初始化等。

做一些功能複雜的,特別人使用者自已所想到的功能時會用c語。另外如果程式執行是要用到root許可權是最好也用c語。

(1)shell指令碼與windows/dos下的批處理相似,也就是用各類命令預先放入到一個檔案中,方便一次性執行的一個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,它使用了linux/unix下的命令。

(2)c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

linux下的c語言程式和shell指令碼程式有什麼不同

5樓:匿名使用者

shell指令碼類似於dos下的批處理。

c語言是程式設計的。

6樓:

c語言程式是編譯執行的;而shell指令碼是解釋執行的。

7樓:我的她最美

c是高階語言,shell是指令碼

8樓:

shell是呼叫已有的(一般c)程式

linux 中的shell是什麼作用跟c語言有什麼關係

9樓:

你就bai當 shell 命令是一個個的小的c程式du,c呼叫shell就相當zhi於是啟動一個外部程序dao

其實很多shell命令是c寫的,但是回也有一答些不是,不過這跟使用沒啥關係

c可以呼叫shell

但是shell是不能呼叫c**的,可以呼叫c編譯出來的可執行檔案

10樓:匿名使用者

c shell是一種指令碼語言,是用c語言寫的,基本上所有的高階語言都是用c寫的,語法上跟c語言差別很大,跟vb比較像,它的作用就跟widows的dos命令差不多。很容易學的。。

11樓:匿名使用者

shell是c寫的。作用就是寫shell指令碼。

linux的shell程式設計與用gcc實現c程式設計有什麼不同,有什麼優點?

12樓:綠衣人敲門

shell 的東西叫做「指令碼」。是一種解釋型語言,而且功能不如 c 的函式庫龐大功能全。

c 語言是高階開發語言,可以直接輸出為二進位制程式進行執行。

完全是兩個方向的應用。總的來說,不具備可比性。但實際要看應用環境。相對來說,shell 的程式還是以簡單的功能為主。大型的應用程式還是 c 語言更合適。

我覺得你去看看 perl、python 後就能瞭解 shell 和 c 的區別了。perl 和 python 都是解釋型語言,可以當 shell 指令碼使用,但他們也能開發大型的應用程式。

不過解釋型語言一個問題就是效能。

13樓:悔恨的阿毛

shell能做到的c都能做到。

差別主要在於實現的速度和複雜度。

shell可以直接呼叫系統程式,方便的進行系統管理。

同樣實現外部呼叫,c需要很長的**,而shell只要一句話。

但是c的效率比shell高,因為shell主要是外部呼叫,c不是。

c語言編譯完的可執行檔案執行後為什麼閃退

1 編譯後直接雙擊執行的,非gui的程式一般不需要等待使用者,執行完了當然自動退出了,執行main 函式末尾返回。如果要是想停一下等待看結果,main 函式末尾加一句system pause 2 例如 include int main 演示程式 include stdio.h include win...

把高階語言編寫的源程式轉換為可執行程式的過程叫什麼

編好的 源 經過編譯,連結,生成可執行的檔案,然後就可以執行。即編輯的 要最重生成可執行的程式 可執行的檔案 需要經過編譯 連結兩個步驟。編譯的作用是對 進行語法檢查,而連結的作用是連結 中用到的編譯器提供的資源。所以,通常通過編譯 連結後形成的只形成一個可執行的檔案。a彙編和解釋 b 編輯和連線c...

在perl指令碼語言下如何修改檔案內容

你這問題問的不清楚,你給的例子裡面也只處理了10轉28,而且目前你這個寫法,110 也會被轉化為128,最重要的是,你這 完全不能修改你的檔案,因為你 foreach kill new 這個只是對臨時變數 kill處理了。完全沒有對 new改動,所以再把new的內容寫到file2沒有意義。open ...