pwd 查看當(dāng)前路徑
rm 文件名 刪除文件
rm -rf 文件夾 刪除文件夾
touch命令有兩個功能:一是用于把已存在文件的時間標(biāo)簽更新為系統(tǒng)當(dāng)前的時間(默認(rèn)方式),它們的數(shù)據(jù)將原封不動地保留下來;二是用來創(chuàng)建新的空文件。
ls -l 查看文件的詳細(xì)信息,如大小等
g++ main.cpp -o main
預(yù)編譯,編譯,匯編,鏈接生成執(zhí)行文件main
g++ -c main.cpp
先編譯不鏈接,生成文件main.o(編譯的是單個文件,不管鏈接的庫路徑,當(dāng)項目文件很多時很有用,提高效率不用每個都編譯)。
?
g++ main.o -o main 鏈接,找唯一的main()函數(shù),最終生成執(zhí)行文件main
g++ -E main.cpp 預(yù)編譯
g++ -E main.cpp>main.e
將預(yù)編譯輸出到main.e,便于查看。預(yù)編譯將所有頭文件、用宏替換拼到一個文件中,因為編譯的時候只編譯這一個文件
g++ -S main.cpp 只編譯不匯編(生成文件main.s匯編碼)
g++ -g main.cpp -o main_d
有調(diào)試信息的可執(zhí)行文件相當(dāng)于win的Debug版本
寫程序:
int main(int argc, char *argv[])
argc 是 argument count的縮寫,表示傳入main函數(shù)的參數(shù)個數(shù);
argv 是 argument vector的縮寫,表示傳入main函數(shù)的參數(shù)序列或指針,并且第一個參數(shù)argv[0]一定是程序的名稱,并且包含了程序所在的完整路徑,所以確切的說需要我們輸入的main函數(shù)的參數(shù)個數(shù)應(yīng)該是argc-1個;
例如:
#include <iostream>
using namespace std;
void main(int argc,char *argv[])
{
for(int i=0;i<argc;i++)
{
cout<<"argument["<<i<<"] is: "<<argv[i]<<endl;
}
system("pause");
}
argv是指向指針的指針,main函數(shù)的第二個參數(shù)“char *argv[]“也可以替換為 “char **argv“,兩者是等價的。
多文件編譯
預(yù)編譯的時候需要指定頭文件的路徑:
g++ main.c ../Person/Person.cpp -o main -I../Person
預(yù)編譯過程需要頭文件路徑 , -I../Person指的是頭文件所在的路徑;
編譯或鏈接過程(我不確定到底是哪個好衰)需要函數(shù)的定義,../Person/Person.cpp是頭文件中的成員函數(shù)的實(shí)現(xiàn)
注:再多的文件也把文件是拼過來;也可以先生成.o文件在來鏈接。
動態(tài)鏈接庫
1、生成名為Person的動態(tài)鏈接庫文件libPerson.so
g++ Person.cpp -fpic -shared -o libPerson.so 命名必須以lib開頭
2、使用動態(tài)鏈接庫文件
g++ Person.cpp -o main -I../Person 能找到頭文件
g++ main.cpp -o main -I../Person -L../Person -lPerson
能找到頭文件和動態(tài)鏈接庫文件
-I../Person是頭文件路徑;-L../Person是指定libPerson.so路徑(如果不指定默認(rèn)去系統(tǒng)環(huán)境變量的lib庫找);-lPerson是鏈接庫名。
注:在執(zhí)行./main時,報錯:
解決:方法1把動態(tài)鏈接庫文件拷貝到系統(tǒng)的path路徑里;
方法2如圖,使用執(zhí)行腳本的方式
執(zhí)行腳本寫 :
export LD_LIBRARY_PATH=../Person
最后,執(zhí)行 ./main
也可以用ldd main 查看程序的鏈接情況。
補(bǔ)充:在使用opencv的時候出現(xiàn)了錯誤:
main.cpp:(.text+0x53):對‘cv::imread(cv::String const&, int)’未定義的引用
解決:這是鏈接器的錯誤。使用 pkg-config 的 –cflags 參數(shù)可以給出在編譯時所需要的選項,而 –libs 參數(shù)可以給出連接時的選項
qiaoyunhao@ThinkPad:~/MyStudy/c_project/test$ g++ main.cpp `pkg-config --cflags --libs opencv` -o main
問題解決!
pkg詳解參考:
https://blog.csdn.net/a1059682127/article/details/80554729
https://blog.csdn.net/weicao1990/article/details/51933918
makefiles的書寫參考其它https://www.cnblogs.com/Bw98blogs/p/7297007.html
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁標(biāo)題:Linux命令-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://aaarwkj.com/article44/gdhee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、外貿(mào)建站、建站公司、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容