2017-02-11 59 views
-2

我在這個環境下做一些代碼:如何將代碼從I7處理器轉移到(AWS)上的Xeon處理器?

a)我的筆記本電腦與i7處理器;

b)中IDE 「視覺工作室」/ C/C++

現在,我想transfere至強E5-2670上AWS的代碼。

1)有可能嗎?

2)我必須更改「視覺工作室」的配置或採取代碼,並直接在Xeon proc上運行?

3)你有一些參考,我可以跟着

感謝您的幫助和建議 阿爾瓦羅

+0

至強和i7都是x86處理器,因此它們是兼容的;重要的是更多的東西,比如你在Windows上構建可執行文件並嘗試在Linux上運行它。 –

+0

@MatteoItalia VC++編譯器爲SSE等提供了編譯選項,因此它們也必須匹配,並非所有的二進制文件都可在所有x86處理器上運行(即使我們跳過了一點點)。 –

+1

@SamiKuhmonen:有史以來產生的每個i7都是64位的,就像E5一樣;在SSE3以上的SSE是過去10年以上的處理器的標準配置;你必須得到一些相當新的東西(比如AVX)才能開始看到這樣的問題。另外,VC++項目的默認配置非常保守(當構建32位時甚至可能默認啓用SSE),所以,除非OP更改了他不理解的隨機設置,否則他應該清楚。 –

回答

0

它應該直接運行,但它的效率可能不如在AWS系統上編譯的效率。即我編寫了一個針對4核8線程計算機進行了優化的程序,但是當我在筆記本電腦上運行2核4線程處理器時,它幾乎崩潰了。我還可以猜測,在6核心12線程處理器上運行程序不會實現充分的效率。

如果您正在討論運行時環境(我剛剛記得這一點),Visual Studio有可能提供非標準庫,在運行該程序之前需要下載和/或編譯這些庫。例如。我將我的程序發送給我的朋友,他們錯過了運行程序所需的DLL。編輯(我在這裏是新的,所以沒有足夠的代表評論):通常我只是在dll-files.com上搜索丟失的DLL。雖然我不確定有關linux的問題,但可能是因爲你不得不自己編譯庫,而我並不熟悉這些庫。

+0

你找到了失蹤的DLL?...我現在有一個相同的問題 – alvaro562003

0

這取決於你如何設置編譯選項。如果您尚未啓用任何允許編譯器使用目標處理器上不存在的指令的特定選項,則可執行文件將運行。您可以使用Dependency Walker來確定您的可執行文件需要什麼DLL。

VS C++項目中的默認選項將生成可在任何現代x86處理器上運行的可執行文件。編譯時,您的機器的CPU本身並不重要,只有編譯器選項。

0

的嘗試後,將執行結果在2個錯誤: MSVCP144.dll缺少 MSVCP100.dll失蹤

相關問題