91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Visual Studio c++必要的背景知識--鏈接與編譯

發布時間:2020-08-10 23:16:50 來源:網絡 閱讀:688 作者:jackyBLF 欄目:編程語言

HowTo:

1) 如何創建和編寫靜態鏈接庫
2) 如何創建可執行文件  
3) 如何創建頭文件和cpp文件
4) 如何相對路徑尋址
5) 如何進行手動靜態庫鏈接
6) 如何編譯部分或全部程序

在撰寫Libuv源碼分析時,感覺有些基礎的,通用的背景知識(主要是vc++相關方面的)還是單獨列出來,作為一篇bolg吧。


目的:通過模仿Libuv的結構和編譯流程,分享一下如何使用vs c++編輯器和編譯器,最起碼知道如何進行vs c++程序的鏈接和編譯。

按照Libuv的組織架構,將整個程序分成兩個部分:

1)  一個簡單的類型為靜態鏈接庫(.lib)的程序,僅導出一個函數 void sayHelloWorld(); 用于打印出"hello world!"。

2)  一個簡單的類型為exe程序,鏈接上面的HelloWorld.lib,并調用其導出的sayHelloWorld()函數。

通過這個簡單的例子,讓我們來探索一下整個流程和關鍵點。對于新手來說,請重點關注c/c++的頭文件和鏈接庫的相對路徑設置是如何設置的!

流程1:

可執行程序(.exe)項目工程


1) 到開你的vistual studio,左側選擇win32,新建一個win32/控制臺/空項目

Visual Studio c++必要的背景知識--鏈接與編譯

Visual Studio c++必要的背景知識--鏈接與編譯

之所以用空項目而不用default設置的預編譯頭,是為了簡單期間,使用預編譯頭雖然加速頭文件編譯,但是需要一些規則來支持的,因此簡單期間,還是使用空項目,自己手動創建頭文件和cpp文件
生成工程目錄后,只有一些空的文件夾

Visual Studio c++必要的背景知識--鏈接與編譯


2) 創建c/c++入口函數文件main.cpp

Visual Studio c++必要的背景知識--鏈接與編譯

Visual Studio c++必要的背景知識--鏈接與編譯


3) 打開剛才創建的main.cpp,編寫一個main函數,按F5快捷鍵,至少讓你寫的c/c++程序運行起來

Visual Studio c++必要的背景知識--鏈接與編譯

一個簡單的exe程序完成了!


流程2:

靜態鏈接庫(.lib)項目工程


1)在sln解決方案中添加一個lib類型項目工程



Visual Studio c++必要的背景知識--鏈接與編譯

Visual Studio c++必要的背景知識--鏈接與編譯

Visual Studio c++必要的背景知識--鏈接與編譯


2) 創建頭文件,聲明靜態鏈接庫要導出的函數原型


Visual Studio c++必要的背景知識--鏈接與編譯

Visual Studio c++必要的背景知識--鏈接與編譯

3) 創建cpp文件,include剛才聲明的頭文件,并實現函數原型


Visual Studio c++必要的背景知識--鏈接與編譯

Visual Studio c++必要的背景知識--鏈接與編譯

4) 編譯LibHelloWorld靜態鏈接庫

Visual Studio c++必要的背景知識--鏈接與編譯

5) 編譯生成的目錄位置

Visual Studio c++必要的背景知識--鏈接與編譯


流程3:

可執行文件鏈接靜態庫

1) 在可執行exe項目中如何相對路徑尋址

Visual Studio c++必要的背景知識--鏈接與編譯

2) 可執行文件鏈接如靜態庫,并調試運行,輸出結果

Visual Studio c++必要的背景知識--鏈接與編譯

到此,一個簡單的,包含靜態鏈接庫和可執行文件的Demo演示完成了,通過該Demo,可以掌握很關鍵的一些知識:

1) 如何創建和編寫靜態鏈接庫
2) 如何創建可執行文件  
3) 如何創建頭文件和cpp文件
4) 如何相對路徑尋址
5) 如何進行手動靜態庫鏈接
6) 如何編譯部分或全部程序

希望對大家有幫助!

向AI問一下細節

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

AI

日喀则市| 邮箱| 三门峡市| 海门市| 无极县| 平南县| 蒲江县| 丰顺县| 忻城县| 赣州市| 长海县| 康马县| 郧西县| 东乌珠穆沁旗| 高阳县| 沅江市| 灵石县| 万宁市| 山阴县| 玉环县| 雷山县| 贡嘎县| 抚顺县| 崇阳县| 临澧县| 昭平县| 萨迦县| 富民县| 宾川县| 六盘水市| 剑川县| 合江县| 周宁县| 中方县| 长岭县| 安阳市| 廊坊市| 射洪县| 湖口县| 巴彦县| 大新县|