亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux命令

發布時間:2020-02-24 14:19:25 來源:網絡 閱讀:455 作者:Joe科技 欄目:系統運維

pwd      查看當前路徑
rm 文件名     刪除文件
rm -rf 文件夾  刪除文件夾

touch命令有兩個功能:一是用于把已存在文件的時間標簽更新為系統當前的時間(默認方式),它們的數據將原封不動地保留下來;二是用來創建新的空文件。
ls -l    查看文件的詳細信息,如大小等

gcc/g++

g++ main.cpp -o main
預編譯,編譯,匯編,鏈接生成執行文件main
g++ -c main.cpp
先編譯不鏈接,生成文件main.o(編譯的是單個文件,不管鏈接的庫路徑,當項目文件很多時很有用,提高效率不用每個都編譯)。

?

g++ main.o -o main      鏈接,找唯一的main()函數,最終生成執行文件main
g++ -E main.cpp  預編譯

g++ -E main.cpp>main.e
將預編譯輸出到main.e,便于查看。預編譯將所有頭文件、用宏替換拼到一個文件中,因為編譯的時候只編譯這一個文件
g++ -S main.cpp  只編譯不匯編(生成文件main.s匯編碼)
g++ -g main.cpp -o main_d  
有調試信息的可執行文件相當于win的Debug版本

寫程序:

int main(int argc, char *argv[])

argc 是 argument count的縮寫,表示傳入main函數的參數個數;
argv 是 argument vector的縮寫,表示傳入main函數的參數序列或指針,并且第一個參數argv[0]一定是程序的名稱,并且包含了程序所在的完整路徑,所以確切的說需要我們輸入的main函數的參數個數應該是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函數的第二個參數“char *argv[]“也可以替換為 “char **argv“,兩者是等價的。

多文件編譯
預編譯的時候需要指定頭文件的路徑:

g++  main.c  ../Person/Person.cpp  -o  main  -I../Person 

預編譯過程需要頭文件路徑 , -I../Person指的是頭文件所在的路徑;
編譯或鏈接過程(我不確定到底是哪個好衰)需要函數的定義,../Person/Person.cpp是頭文件中的成員函數的實現

:再多的文件也把文件是拼過來;也可以先生成.o文件在來鏈接。
動態鏈接庫
1、生成名為Person的動態鏈接庫文件libPerson.so

 g++ Person.cpp -fpic -shared  -o libPerson.so    命名必須以lib開頭

Linux命令
2、使用動態鏈接庫文件

g++ Person.cpp -o main -I../Person    能找到頭文件 

g++ main.cpp -o main -I../Person -L../Person -lPerson   
能找到頭文件和動態鏈接庫文件

-I../Person是頭文件路徑;-L../Person是指定libPerson.so路徑(如果不指定默認去系統環境變量的lib庫找);-lPerson是鏈接庫名。
Linux命令
:在執行./main時,報錯:
解決:方法1把動態鏈接庫文件拷貝到系統的path路徑里;
方法2如圖,使用執行腳本的方式
執行腳本寫 :

export LD_LIBRARY_PATH=../Person

最后,執行 ./main
也可以用ldd main 查看程序的鏈接情況。
補充:在使用opencv的時候出現了錯誤:

main.cpp:(.text+0x53):對‘cv::imread(cv::String const&, int)’未定義的引用

解決:這是鏈接器的錯誤。使用 pkg-config 的 –cflags 參數可以給出在編譯時所需要的選項,而 –libs 參數可以給出連接時的選項

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延寿县| 大城县| 南溪县| 滨海县| 普兰店市| 建昌县| 西宁市| 宁晋县| 建水县| 洞口县| 阿拉善右旗| 石泉县| 陆丰市| 探索| 济阳县| 和顺县| 邵阳市| 乌兰县| 天长市| 汨罗市| 班戈县| 塔城市| 开原市| 铁力市| 锡林郭勒盟| 诸城市| 库尔勒市| 吴忠市| 措勤县| 乃东县| 合江县| 上蔡县| 福州市| 松桃| 江津市| 仙桃市| 莆田市| 类乌齐县| 神农架林区| 佳木斯市| 台南县|