**版本可以提供各種不同形式的相容性:源**相容性,鏈結相容性,執行相容性,和程序相容性。這些都是根據c++程式建立各個過程命名的,
1、如果沒有使用者需要重新編譯任何**,那麼程式庫的版本n和版本m就具有源**相容性
2、如果沒有使用者需要重新編譯任何目標檔案,那麼版本n和版本m就具有鏈結相容性
3、如果沒有任何目標檔案等需要重新鏈結,那麼版本n和版本m程序相容性
4、盡量將重新擴充套件的**隔離成盡可能少的幾個檔案,那麼當程式庫公升級的時候,重新編譯的就只會是幾個檔案而已
源**相容性主要指的是由於版本公升級導致介面**增加,而如果使用者的執行**的平台資源緊張的話就會導致使用者不得不重新進行**設計和優化。理論上c++程式庫的每個改變幾乎都具有源**不相容性。
通常實際中,那些既沒有刪除也沒有改變已有功能的更改,在實際中都是源**相容。
1、增加乙個成員函式
2、授權友元關係
3、放寬成員或者基類的保護級別
4、把先前的外聯函式改變成為內聯函式
5、內聯函式改變成為外聯
另外,刪除功能的改變往往都是源**不相容,借助於被棄用或者除黑移植技術,使用者可以更容易地處理源**不相容性,與其把函式從程式庫中刪除,不如在相應文件中建議不再使用,這樣子可以使得舊的程式可以繼續執行,新編寫的程式將不再使用這個函式。
某個函式即使被棄用了,但它的描述還應該依然在文件中存在,因為有些程式設計師還需要維護使用這個函式的舊程式**。
如果程式庫版本n和早期版本m是執行相容,那麼只要通過再次執行程式,使用版本m的程式就可以得到公升級,這裡,為了提供執行相容性使用機制就是動態鏈結機制。
程式庫開發者應該著重考慮,為他們現在的使用者提供向後相容(相容老的版本),並且預料向前相容性(也就是考慮後面公升級擴充套件)。
相容性(空格相容性)
在chrome與firefox下顯示的寬度不同,原因是兩個瀏覽器的預設字型不同,給html規定字型即可解決。下面有各種形式的空格,各有不同 不換行空格,按下空格鍵所產生的空格,受字型影響明顯 ensp 半形空格 em寬度的一半 乙個小寫字母的寬度 基本不受字型影響 emsp 全形空格 乙個em寬度 ...
相容性小結
1.不同瀏覽器的標籤預設的外補丁和內補丁不同。解決 2.chorme瀏覽器下字型最小12px 解決 font size 12px webkit transform origin x 0 webkit transform scale 0.5833333333333334 scale 12 3.ie瀏覽...
相容性測試
一 什麼是相容性測試二 相容性測試分類三 相容性測試方法四 如何進行相容性測試五 相容性測試的作用 相容性測試是軟體測試過程必不可少的乙個過程,沒有相容測試的測試是不完整的測試,相容性測試的存在是有一定作用的。我個人覺得最少有以下幾點 相容性測試能夠進一步提高產品的質量,提高使用者體驗 相容性測試能...