2012-03-08 59 views
3

我只是在尋找現在的選項,但我有大量的C庫,它們是以靜態鏈接的.lib的形式在Visual Studio 6中編寫的。需要在Visual Studio 2010中完成更新的開發,將調用這些庫,並且已經決定儘管有可能的解決方案來調用這些舊庫,但他們應該更新到Visual Studio 2010.作爲該轉換的一部分,它是看起來很可能我們不妨把它們轉換成OO語言。無論是C++,C++/CLR還是C#都需要討論。將Visual Studio 6庫轉換爲Visual Studio 10

新的應用程序可能用C#編寫,將調用這些庫。

什麼是最好的將庫轉換爲?它也需要是一個相當簡單的(即不是太耗時的)選項。我認爲將它們轉換爲C#將會工作太多。非託管C++會是最簡單的,但是C++/CLR會成爲一個好的中間地帶嗎?我在這裏想到,從C#調用C++/CLR比非託管C++更容易,因此值得在這裏做更多的工作。

+2

自VS6以來發生了很多事情;現在可以有一個第三方庫,可以簡單地替換你的?我知道這對我以前維護的很多事情都是正確的。 – tenfour 2012-03-08 10:07:01

+3

「作爲轉換的一部分,我們很可能會將它們轉換爲OO語言」< - 這不是「轉換」,那是「重寫」。你確定你需要嗎? – AakashM 2012-03-08 10:10:00

+1

您是否還會有(純粹的)使用這些庫的C++應用程序? – 2012-03-08 10:13:49

回答

5

從頭開始重寫不是一個選項。有超過100個庫 和很多代碼。

如果重寫它們不是一個選項,我不明白這個說法。

作爲該轉換的一部分,看起來很可能我們不妨將它們轉換爲OO語言。無論是C++,C++/CLR還是C#都是 以供討論。

您不能將C代碼「轉換」爲C#和/或C++/CLR代碼。唯一正確的術語是完全重寫。這聽起來好像只是在最新的visual studio中加載項目並按原樣編譯它。

如果它已經在那裏工作是沒有理由改變該dll編寫語言。

通過它的聲音......你似乎並不被familar與任何語言的你建議考慮您對術語unmanaged C++有疑問。

我們已經大不如前留下這些庫爲C 寫在VS 6,並試圖從寫於2010年VS它 C#打電話給他們的路線有一點點凌亂,並決定,這是不長期的方向是很好的 。

這意味着您唯一真正的選擇是重寫庫,以便它們更易於使用。只是切換到C++不會解決您遇到的問題。您可以在C++中使用C風格約定,而不會出現問題。

+0

我不同意這句話,「如果它已經有效,那麼沒有理由改變dll寫入的語言。」原因是因爲用C++編寫的項目是非託管代碼,很難合作。它可以使用更現代化的開發工具大幅提高生產力。 – bunggo 2014-11-07 17:59:28