binary-compatibility

    13熱度

    8回答

    我驚訝的是,Apache Commons Collections項目還沒有得到周圍使他們的圖書館泛型感知。我非常喜歡這個圖書館提供的功能,但對泛型的支持不足是一個很大的問題。有一個Lavalabs fork of Commons Collections which does support generics,這似乎聲稱向後兼容性,但是當我嘗試更新到此版本時,我的Web應用程序無法啓動(在JBoss

    3熱度

    4回答

    說的共享庫包含以下行: const char* const arr[] = { "one", "two", "three" }; 1)應用程序鏈接到這個庫,並且可以使用符號「改編」? 2)如果將新元素添加到定義中,是否會破壞二進制兼容性? 3)如果其中一個字符串文字被改變了怎麼辦? 4)爲什麼(不)? 乾杯, 盧克

    7熱度

    9回答

    有什麼方法可以使用不同編譯器構建的C++ dll兼容嗎?這些類可以有創建和銷燬的工廠方法,因此每個編譯器都可以使用它自己的新/刪除(因爲不同的運行時有自己的堆)。 我嘗試以下的代碼,但它碰撞在所述第一構件的方法: interface.h #pragma once class IRefCounted { public: virtual ~IRefCounted(){} v

    6熱度

    6回答

    很抱歉,如果這是一個明顯的問題,但我在網上找到了令人驚訝的一些參考... 我與我們的業務合作伙伴用C語言編寫的API時並以Fedora 11爲基礎構建的.so二進制文件提供給我們。我們已經在Fedora 11開發機器上測試了API,沒有任何問題。但是,當我嘗試與客戶的目標平臺(恰好是SuSE Enterprise 10.2)上的API進行鏈接時,出現「文件格式未識別」錯誤。 命令那也是binuti

    2熱度

    2回答

    我目前正在爲需要預編譯二進制/ DLL(它將是跨平臺)的產品設計一個面向公衆的C++ API。我希望API允許用戶使用我們支持的任何POD(如果適用),但基本要求是最大的靈活性和二進制兼容性。我正在做一些與CPLEX的API類似的東西(它是幾種靈感之一),但我認爲可能有更好的方式來指定類型信息,而不是它們的做法(關於IloInt,IloNum,IloAny,Ilo * Var等,請參閱link(希

    2熱度

    4回答

    我正在處理一個正在被許多人使用的項目,我不知道。我們在降低CheckStyle警告方面做了相當不錯的工作,並且事情是低的,因爲它不會破壞二進制兼容性。 其餘警告的大部分是由常量(公共靜態最終)缺少最後的關鍵字引起的。常量的命名清楚地表明開發者希望他們只能被讀取,但他們根本沒有最終定義它們。 除非開發人員正在編寫一些使用這種監督的非常糟糕的代碼,否則他們的代碼不會因爲添加它們而中斷。 當前的版本號是

    1熱度

    3回答

    在VB6 ActiveX exe項目中,是否有任何方法可以在添加新事件時保留事件調度接口的GUID? 顯然,改變現有事件會打破兼容性。添加一個新的不會導致VB6 IDE發出警告。但是,這並不令我感到驚訝,因爲它在添加新方法時也不會警告,但至少現有方法保留其GUID。 有了事件,如果以後添加新事件,似乎沒有辦法保留現有事務的向後兼容性。 對於通過COM集成的VB6應用程序來說,這似乎不成問題;我假設

    8熱度

    2回答

    重構方法時,很容易在Java中引入二進制不兼容(與代碼的以前版本)。 考慮更改的方法來擴大其參數的類型父接口: void doSomething(String x); // change it to void doSomething(CharSequence c); 使用此方法將繼續在不改變編譯所有的代碼,但它確實需要重新編譯(因爲舊的二進制文件將失敗並出現MethodNotFound

    2熱度

    3回答

    我需要在Java中進行一些重構,並且需要保持一定程度的二進制兼容性。在這種情況下,我想刪除一些舊的接口,這些接口不再在任何地方使用,並且需要相當大的(也是不贊成使用的)外部依賴。 我有C類,實現接口I,我有一個代碼調用C實例的方法(在接口中聲明)。調用代碼知道它使用的是C,而不僅僅是接口。 class C implements I { void theMethod(){} ; // i