執行程式 Linux系統下執行c 程式

2021-10-16 07:16:16 字數 2244 閱讀 7795

引言

為什麼要在linux下寫程式?

分享資料報括:c/c++,linux,nginx,zeromq,mysql,redis,fastdfs,mongodb,zk,流**,cdn,p2p,k8s,docker,tcp/ip,協程,dpdk等等。

首先要問一下自己,為什麼要寫這個程式。

如果我們寫乙個執行在windows平台的應用程式,那麼用linux寫肯定是傻瓜或者強迫症,因為在windows平台除錯windows程式可以更容易發現並解決問題,反過來也一樣,在linux平台除錯出來的程式可以更好的適應linux平台的環境,如果在windows下寫出乙個程式,結果到了linux的執行環境出了暗病,那真是欲哭無淚,無從查起。

而很多時候,我們的程式都不是執行在windows平台的,例如嵌入式裝置的記憶體容量十分有限,只能把linux核心裁裁剪剪然後執行,所以嵌入式開發者一般都要求在linux平台下工作

正文在windows下,我們寫c++程式一般會有如下幾個步驟:

編寫.cpp檔案,**都在裡面;

可能還有一些.**件之類的支援檔案,這些檔案一般都會放在一起,或者相對位置是固定的;

編譯檔案,鏈結檔案,生成.exe檔案

雙擊執行.exe檔案(其實開發平台裡的「執行」就是幫你雙擊了一下而已)

在linux下這些步驟基本都是一樣的,不同的是,linux最後生成的檔案不是.exe,而是.out

步驟首先得有個linux作業系統,如果是新手(像我)最好選乙個圖形介面做的好的,例如ubuntu。一般這些作業系統都是免費開源的,這也是linux的一大好處,可以直接修改一切檔案,而windows的防禦措施對於菜鳥和一般使用者很好用,但是對開發者而言就是個坑。

在linux作業系統上新建乙個資料夾,在裡面放你的工程,如下圖

編寫**的部分就可以跳過了吧,例如我們都非常熟悉的hello world

接下來是編譯,開啟終端,將終端路徑設定為你的工程目錄。cd 和ls命令真是好用。。。dir命令跟ls命令類似,看個人喜好吧,都一樣。

輸入命令 gcc test.cpp

誒→_→?為什麼編譯不通過?當然不是程式寫錯了,而是 gcc 是 c 語言的編譯器,而我們寫的**是c++**,所以改為輸入 g++ test.cpp

沒有任何問題,這個時候我們可以看見工程目錄上多了乙個a.out,它就是我們的「可執行檔案」了。

可是為什麼是 a.out 而不是 b.out 或者 nfsdnksd.out呢?這是預設的,沒有為什麼→_→如果想給編譯出來的檔案起乙個名字,可以在編譯的時候用 -o 命令,例如 g++ test.cpp -o joyce

然後我們就可以看到,工程目錄多了乙個joyce檔案

執行檔案的時候來的,在終端輸入./a.out即可看到你的程式輸出。輸入./joyce也是一樣的。記住不要漏了斜槓前面的點!!

這樣我們就完成了乙個最基本的程式編譯和執行。

Linux下後台執行程式

一 為什麼要使程式在後台執行 我們計算的程式都是週期很長的,通常要幾個小時甚至乙個星期。我們用的環境是用 putty 遠端連線到日本 linux 伺服器。所以使程式在後台跑有以下三個好處 1 我們這邊是否關機不影響日本那邊的程式執行。不會像以前那樣,我們這網路一斷開,或一關機,程式就斷掉或找不到資料...

Linux下執行程式tips

pspc上傳資料夾 c users admin pscp r c test jccheng home jccheng c users admin pscp r jccheng home jccheng test fill.out d result 後台執行程式 nohup matlab fill.o...

linux下後台執行程式 nohup

在linux中,如果要讓程序在後台執行,一般情況下,我們在命令後面加上 即可,實際上,這樣是將命令放入到乙個作業佇列中了 test.sh 1 17208 jobs l 1 17208 running test.sh 對於已經在前台執行的命令,也可以重新放到後台執行,首先按ctrl z暫停已經執行的程...