国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于不同版本VS編譯獲得的靜態(tài)庫、動(dòng)態(tài)庫的兼容性

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)于不同版本VS編譯獲得的靜態(tài)庫、動(dòng)態(tài)庫的兼容性。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

看了上一篇博客還是在6月13號,一直想著寫一些東西,也準(zhǔn)備了很多內(nèi)容,沒想到一直拖到了現(xiàn)在。今天終于掀開了我的筆記本蓋子,按下了開機(jī)按鈕,雙擊瀏覽器圖標(biāo)打開了博客頁(瀏覽器圖標(biāo)都差點(diǎn)找不到了~~),趕緊寫完一篇睡覺,明晚還要給我的小可愛做飯呢。。。

言歸正傳,下面就簡單描述一下關(guān)于不同版本VS編譯獲得的靜態(tài)庫、動(dòng)態(tài)庫的兼容性問題,以下是參考msdn的描述:

Visual Studio 2013 和更早版本中的 Microsoft c + + (MSVC) 編譯器工具集不保證主要版本之間的二進(jìn)制兼容性。 不能鏈接對象文件、靜態(tài)庫、動(dòng)態(tài)庫以及由這些工具集的不同版本生成的可執(zhí)行文件。 Abi、對象格式和運(yùn)行庫是不兼容的。

我們在 Visual Studio 2015、2017和2019中更改了此行為。 任何這些版本的編譯器編譯的運(yùn)行時(shí)庫和應(yīng)用都是二進(jìn)制兼容的。 它反映在 c + + 工具集的主編號(從14開始,適用于所有三個(gè)版本)。 (工具集版本適用于 Visual Studio 2015、v141 2017 和 2019) 的 v142。 假設(shè)你有 Visual Studio 2015 生成的第三方庫。 你仍可以在 Visual Studio 2017 或2019生成的應(yīng)用程序中使用它們。 無需使用匹配的工具集進(jìn)行重新編譯。 最新版本的 Microsoft Visual C++ 可再發(fā)行組件包 (可再發(fā)行組件) 適用于所有這些包。

二進(jìn)制兼容性的限制

對于 v140、v141 和 v142 工具集和次要編號版本更新之間的二進(jìn)制兼容性,有三個(gè)重要的限制:

  1. 可以混合使用不同版本的 v140、v141 和 v142 工具集生成的二進(jìn)制文件。 但是,必須使用最新的工具集至少與應(yīng)用中的最新二進(jìn)制鏈接。 下面是一個(gè)示例:可以將使用任何2017工具集 (v141,版本15.0 到 15.9) 的應(yīng)用鏈接到使用版本16.2 或更高版本的工具集進(jìn)行編譯的靜態(tài)庫,如 Visual Studio 2019 版本 16.2 (v142) 。 只要你使用的是16.4 或更高版本的工具集,你就可以將版本16.2 庫鏈接到16.4 版應(yīng)用。
  2. 應(yīng)用使用的可再發(fā)行組件具有類似的二進(jìn)制兼容性限制。 當(dāng)混合使用不同的受支持版本的工具集生成的二進(jìn)制文件時(shí),可再發(fā)行版本必須至少與任何應(yīng)用組件所用的最新工具集相同。
  3. 使用 /GL (完全程序優(yōu)化)編譯器開關(guān)或使用 /LTCG (鏈接時(shí)代碼生成 進(jìn)行鏈接的靜態(tài)庫或?qū)ο笪募? 在不同版本之間 不 兼容二進(jìn)制,包括次要版本更新。 使用和編譯的所有對象文件和庫 /GL /LTCG 必須使用完全相同的用于編譯和最終鏈接的工具集。 例如, /GL 在 Visual Studio 2019 版本16.7 工具集中使用生成的代碼無法鏈接到 /GL 在 Visual Studio 2019 版本16.8 工具集中使用生成的代碼。 編譯器發(fā)出錯(cuò)誤 C1047。

將 Microsoft Visual C++ 可再發(fā)行組件從 Visual Studio 2015 或2017升級到 Visual Studio 2019

我們?yōu)?Visual Studio 2015、2017和2019保留了 Microsoft Visual C++ 的可再發(fā)行組件主版本號。 這意味著一次只能安裝一個(gè)可再發(fā)行的實(shí)例。 較新的版本將覆蓋已安裝的任何較舊版本。 例如,一個(gè)應(yīng)用可以安裝 Visual Studio 2015 中的可再發(fā)行組件。 然后,另一個(gè)應(yīng)用會安裝 Visual Studio 2019 的可再發(fā)行組件。 2019版本覆蓋了較舊的版本,但由于它們是二進(jìn)制兼容的,所以前面的應(yīng)用程序仍能正常工作。 我們確保最新版本的可再發(fā)行組件包含所有最新功能、安全更新和 bug 修復(fù)。 這就是我們始終建議升級到最新可用版本的原因。
同樣,如果已安裝較新版本,則無法安裝較舊的可再發(fā)行組件。 如果嘗試,安裝程序?qū)?bào)告錯(cuò)誤。 如果在已有2019版本的計(jì)算機(jī)上安裝2015或2017可再發(fā)行組件,會看到類似于下面的錯(cuò)誤:

0x80070666 - Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.

此錯(cuò)誤是由設(shè)計(jì)決定的。 建議保留最新版本。 請確保安裝程序可在不提示的情況下從此錯(cuò)誤恢復(fù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-453578.html

到了這里,關(guān)于關(guān)于不同版本VS編譯獲得的靜態(tài)庫、動(dòng)態(tài)庫的兼容性的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 動(dòng)態(tài)庫、靜態(tài)庫的構(gòu)建與使用

    動(dòng)態(tài)庫、靜態(tài)庫的構(gòu)建與使用

    所謂靜態(tài)、動(dòng)態(tài)是指 鏈接 ?;仡櫼幌拢瑢⒁粋€(gè)程序編譯成可執(zhí)行程序的步驟: 鏈接 : 把外部函數(shù)的代碼(通常是后綴名為.lib和.a的文件),添加到可執(zhí)行文件中。這就叫做連接(linking)。這種通過拷貝,將外部函數(shù)庫添加到可執(zhí)行文件的方式,叫做靜態(tài)連接(static linki

    2024年02月06日
    瀏覽(18)
  • 動(dòng)態(tài)庫和靜態(tài)庫的使用

    動(dòng)態(tài)庫和靜態(tài)庫的使用

    庫是一種可執(zhí)行代碼的二進(jìn)制形式,可以被操作系統(tǒng)載入內(nèi)存執(zhí)行。就是將源代碼轉(zhuǎn)化為二進(jìn)制格式的源代碼,相當(dāng)于進(jìn)行了加密,別人可以使用庫,但是看不到庫中的內(nèi)容。 常見的庫類型 共享庫 靜態(tài)庫 動(dòng)態(tài)庫 win32平臺下,靜態(tài)庫通常后綴為.lib,動(dòng)態(tài)庫為.dll 。 linux平臺下

    2024年02月03日
    瀏覽(15)
  • 【linux深入剖析】動(dòng)態(tài)庫的使用(續(xù)) | 動(dòng)靜態(tài)庫的鏈接

    【linux深入剖析】動(dòng)態(tài)庫的使用(續(xù)) | 動(dòng)靜態(tài)庫的鏈接

    ??你好,我是 RO-BERRY ?? 致力于C、C++、數(shù)據(jù)結(jié)構(gòu)、TCP/IP、數(shù)據(jù)庫等等一系列知識 ??感謝你的陪伴與支持 ,故事既有了開頭,就要畫上一個(gè)完美的句號,讓我們一起加油 回顧上節(jié),我們在創(chuàng)建了動(dòng)態(tài)庫libmymath.so 我們使用指令 gcc main.c -L. -lmymath -L . (-L + 路徑表示myc這個(gè)庫在哪

    2024年04月15日
    瀏覽(21)
  • VS中動(dòng)態(tài)庫的創(chuàng)建和調(diào)用

    VS中動(dòng)態(tài)庫的創(chuàng)建和調(diào)用

    ? 庫 是寫好的現(xiàn)有的,成熟的,可以復(fù)用的代碼。庫的存在形式本質(zhì)上來說庫是一種可執(zhí)行代碼的二進(jìn)制。 ? 庫有兩種:靜態(tài)庫(.a、.lib)和動(dòng)態(tài)庫(.so、.dll)。所謂靜態(tài)、動(dòng)態(tài)是指鏈接階段,靜態(tài)庫的鏈接階段是在項(xiàng)目編譯的時(shí)候靜態(tài)鏈接。動(dòng)態(tài)庫是在程序運(yùn)行的時(shí)候

    2024年02月02日
    瀏覽(18)
  • 【嵌入式學(xué)習(xí)筆記-02】什么是庫文件,靜態(tài)庫的制作和使用,動(dòng)態(tài)庫的制作和使用,動(dòng)態(tài)庫的動(dòng)態(tài)加載

    【嵌入式學(xué)習(xí)筆記-02】什么是庫文件,靜態(tài)庫的制作和使用,動(dòng)態(tài)庫的制作和使用,動(dòng)態(tài)庫的動(dòng)態(tài)加載

    【嵌入式學(xué)習(xí)筆記-02】什么是庫文件,靜態(tài)庫的制作和使用,動(dòng)態(tài)庫的制作和使用,動(dòng)態(tài)庫的動(dòng)態(tài)加載 單一模型: 將程序中所有功能全部實(shí)現(xiàn)于一個(gè)單一的源文件內(nèi)部。編譯時(shí)間長,不易于維護(hù)和升級不易于協(xié)作開發(fā)。 分離模型 將程序中的不同功能模塊劃分到不同的源文件

    2024年01月15日
    瀏覽(17)
  • 靜態(tài)鏈接庫和動(dòng)態(tài)鏈接庫的區(qū)別

    在編譯時(shí)將庫的代碼( .lib文件 )和應(yīng)用程序的代碼合并在一起,生成一個(gè)單獨(dú)的可執(zhí)行文件。 發(fā)布時(shí)非常方便,直接一個(gè).exe文件即可 庫的代碼在編譯時(shí)和鏈接時(shí)與應(yīng)用程序分開。應(yīng)用程序包含對庫的引用( .lib文件 ,在這里被稱為導(dǎo)入庫),但不包含庫的實(shí)際代碼。 在 運(yùn)行

    2024年02月11日
    瀏覽(17)
  • Linux中靜態(tài)庫和動(dòng)態(tài)庫的使用

    Linux中靜態(tài)庫和動(dòng)態(tài)庫的使用

    介紹: 庫是一個(gè)二進(jìn)制文件,包含的代碼可被程序調(diào)用 標(biāo)準(zhǔn)C庫、數(shù)學(xué)庫、線程庫… 庫有源碼,可下載后編譯;也可以直接安裝二進(jìn)制包 位置一般放在:/lib /usr/lib 庫的知識 庫是事先編譯好的,可以復(fù)用的代碼 在os上運(yùn)行的程序基本上都要使用庫,使用庫可以提高開發(fā)效率

    2024年01月25日
    瀏覽(28)
  • 【Linux】Linux編譯器 gcc 的使用 | 動(dòng)靜態(tài)庫的初步認(rèn)識

    【Linux】Linux編譯器 gcc 的使用 | 動(dòng)靜態(tài)庫的初步認(rèn)識

    ??作者主頁:@安 度 因 ??學(xué)習(xí)社區(qū):StackFrame ??專欄鏈接:Linux

    2024年01月15日
    瀏覽(25)
  • windows下qt使用第三方庫(靜態(tài)鏈接庫lib)、靜態(tài)庫和動(dòng)態(tài)庫區(qū)別、動(dòng)態(tài)庫的使用。

    windows下qt使用第三方庫(靜態(tài)鏈接庫lib)、靜態(tài)庫和動(dòng)態(tài)庫區(qū)別、動(dòng)態(tài)庫的使用。

    這里主要是講述windows下qt使用第三方庫。 windows下qt使用第三方庫(靜態(tài)鏈接庫lib)。 為了能夠使測試更準(zhǔn)確,首先自己用qt創(chuàng)建了一個(gè)已經(jīng)封裝好的lib庫。 然后讓另一個(gè)項(xiàng)目去鏈接這個(gè)lib靜態(tài)庫,并且去調(diào)用里面的方法。 目的: 使 untitled項(xiàng)目 能夠使用 myllplib.lib 靜態(tài)庫,這

    2023年04月17日
    瀏覽(24)
  • Rust : 與C交互動(dòng)態(tài)庫和靜態(tài)庫的嘗試

    Rust : 與C交互動(dòng)態(tài)庫和靜態(tài)庫的嘗試

    rust調(diào)用C端的庫函數(shù),有很多方法,場景也有所不同。包括windows還是linux,內(nèi)置庫還是自定義庫,還是三方庫等等。 一、rust調(diào)用其內(nèi)置的C庫 這個(gè)很簡單,直接把extern \\\"C\\\"引入即可: 比如,在rust端main.rs中: 不需要做其它的處理,直接cargo run 就可以運(yùn)行。 二、自定義的C庫-以

    2024年02月04日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包