【轉載】將32位程式碼向64位平臺移植的注意事項
·需要多於4GB的記憶體。
·使用的檔案大小常大於2GB。
·密集浮點運算,需要利用64位架構的優勢。
·能從64位平臺的優化數學庫中受益。
否則,只需簡單地重新編譯一下,就已經足夠了。大多數編寫良好的程式不費吹灰之力就可移植到64位平臺之上,在此假定你的程式編寫良好,並熟悉本文將要討論的問題。
ILP32和LP64資料模型
32位環境涉及"ILP32"資料模型,是因為C資料型別為32位的int、long、指標。而64位環境使用不同的資料模型,此時的long和指標已為64位,故稱作"LP64"資料模型。
現今所有64位的類Unix平臺均使用LP64資料模型,而64位Windows使用LLP64資料模型,除了指標是64位,其他基本型別都沒有變。我們在此主要探討ILP32到LP64的移植問題,表1顯示了ILP32與LP64資料模型的差異。
向64位移植程式碼時的所有問題差不多都可以總結出一個簡單的規律:千萬不要認為int、long、指標的長度一樣。任何違反這條規律的程式碼,當執行在 LP64資料模型下時,都會出現不同的問題,而且很難找出原因所在。例1中有許多違反這條規律的地方,其在移植到64位平臺上時都需要重寫。
例1:
相關推薦
【轉載】將32位程式碼向64位平臺移植的注意事項
新近的64位平臺在二進位制上與32位應用程式相容,這意味著可以非常簡單地移植現有的程式。許多目前在32位平臺上執行良好的程式也許不必移植,除非程式有以下要求:·需要多於4GB的記憶體。·使用的檔案大小常大於2GB。·密集浮點運算,需要利用64位架構的優勢。·能從64位平臺的優化數學庫中受益。否則,只需簡單地重
將32位程式碼向64位平臺移植的注意事項
隨著低成本64位平臺的來臨,加上記憶體和硬碟價格的不斷下跌,無疑為32位程式向64位硬體的移植又加了一把勁,那些科學運算、資料庫、消耗大量記憶體或密集浮點運算的程式也搭上了這一順風車。在本文中,主要討論向64位平臺移植現有32位程式碼時,應注意的一些細小問題。 新近的6
【轉載】將Ubuntu16.04 中gedit在僅顯示一個檔案時顯示檔名tab
Ubuntu16.04中gedit在僅顯示一個檔案時,不顯示檔案tab,也看不到檔名。可以修改gedit的設定,使之始終顯示檔案tab,方法如下。在終端中輸入gsettings set org.gnome.gedit.preferences.ui show-tabs-mode
【轉載】CentOS7下用yum快速搭建LAMP平臺(應用於安裝zabbix)
實驗環境: [[email protected]7 html]# cat /etc/redhat-release CentOS release 7.3.1611 (AltArch) [[email protected]-7 html]# uname -a Linux
32位程式向64位平臺移植的注意事項
新近的64位平臺在二進位制上與32位應用程式相容,這意味著可以非常簡單地移植現有的程式。許多目前在32位平臺上執行良好的程式也許不必移植,除非程式有以下要求: ·需要多於4GB的記憶體。 ·使用的檔案大小常大於2GB。 ·密集浮點運算,需要利用64位架構的優勢。 ·能從64位平臺的優化數學庫中受益。 否則
【轉載】64位Win7下成功安裝64位的Oracle、32位的InstantClient和PLSQL Developer
註銷 五步 ldb 需要 windows inf 目錄 登錄 class 感謝原作者,原文鏈接:https://wenku.baidu.com/view/433d0b544a7302768f993926.html 經實際安裝操作,通過以下步驟能夠成功地把Oracle安裝到
【轉載】運維職業向!我是怎麽入得運維行業?運維工程師入門必備技能以及打怪升級篇
能說 還要 作用 經歷 人工智能 details 最大堆 orm lock 前言:轉載 陳浩一個從事安全運維向的前輩文章。寫的很好。人非常nice,遇到了問題,qq上很快就回復了我。 大道三千 入門最難,凡事入了行,也就什麽都好說了,好的自然不斷努力奮鬥修行,不好的自然很快
【轉載】python3安裝scrapy之windows32位爬坑
命令 cep 3.2 wheel 跳過 。。 學習 自己的 打開 python3安裝scrapy之windows32位爬坑 原創 2016年11月06日 01:38:08 標簽: scrapy / windows / python / 開源框架 / 網絡爬蟲
【轉載】前向傳播算法(Forward propagation)與反向傳播算法(Back propagation)
應用 思想 size 之路 基礎 pro 中間 nbsp sdn 原文鏈接:https://blog.csdn.net/bitcarmanlee/article/details/78819025 雖然學深度學習有一段時間了,但是對於一些算法的具體實現還是模糊不清,用了很久也
【轉載】UCOS臨界程式碼問題以及解決辦法
先上圖 ①:有兩個任務1和2(任務1優先順序<任務2優先順序),兩個任務用到了同一個全域性變數nGlobalVar,然後中斷來了!中斷打斷了任務1,中斷退出之後,一定退回到任務1繼續往下執行嗎? 解答:答案是否定的!!答案是否定的!!因為在中斷退出前,實現了任務切換,更高優先
【原始碼】宣告32位和64位Access、Excel等VBA相容的API函式的方法
1.在宣告中加上 PtrSafe 關鍵字2.加上VBA7 及Win64的判斷 Declare 語句 PtrSafe 關鍵字(可參考VBA幫助)帶有 PtrSafe 關鍵字的 Declare 語句為建議的語法。要使包括 PtrSafe 的 Declare 語句能同時在 32 位和
【轉載】ABAP 非系統關鍵字 快速程式碼提示功能
相信如果在寫ABAP程式之前如果寫過其他語言(C,JAVA等)的童鞋會發現,其實SAP的ABAP 編輯器做的實在是不咋地或者可以說很爛(但除錯功能的確很強大),也不能帶出你定義的類中的成員和方法。 前段時間無意中發現有一個地方能設定,能帶出自己定義的一些變數,雖然匹配率不是很高,但是聊勝於無嘛。
【轉載】對BP進行增強後(螢幕欄位擴充)後,如何通過BAPI建立BP
建立BP成功後,直接呼叫更改客戶的一般資料 函式進行更改,注意幾個輸入引數。 CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL' &nbs
【轉載】《零基礎入門深度學習》系列文章(教程+程式碼)
轉自:https://blog.csdn.net/TS1130/article/details/53244576 無論即將到來的是大資料時代還是人工智慧時代,亦或是傳統行業使用人工智慧在雲上處理大資料的時代,作為一個有理想有追求的程式設計師,不懂深度學習(Deep Learning)這個超熱的技
【轉載】解決Java關鍵字作為json資料欄位名問題
轉自:https://blog.csdn.net/jjj11223344/article/details/79957559 在java命名規範中,我們不能採用Java關鍵字如 public、static等命名,但是在服務端資料命名時我們往往會採用某一欄位的英文來命名,這有時候就
【轉載】SAP事物程式碼
事務程式碼 功能 一、總賬崗位(含費用核算) 1、FS00 建立科目 2、F.10 檢視會計科目表 3、F.01 檢視會計科目餘額表 4、FB50 制總賬憑證 5、FB08 沖銷憑證 6、FS10N 科目餘額查詢 7、FBV0 成批過賬 8、FBV3 顯示預製憑證 9、OBR2 刪除會計科目 10、
【GitHub】將虛擬機器上的程式碼傳到GitHub
後面的[email protected]改為你在github上註冊的郵箱,之後會要求確認路徑和輸入密碼,使用預設的一路回車就行。 開啟.ssh/id_rsa.pub檔案,複製裡面的內容到github頁面中的個人主頁–>setting–>
網信辦釋出《區塊鏈資訊服務管理規定(徵求意見稿)》 公開向社會徵集意見【轉載】
2018年10月19日,國家網際網路資訊辦公室向社會公開徵求有關《區塊鏈資訊服務管理規定(徵求意見稿)》的意見。 國家網際網路資訊辦公室官方表示,制定《區塊鏈資訊服務管理規定(徵求意見稿)》的目的在於規範區塊鏈資訊服務活動,促進區塊鏈資訊服務健康有序發展,保護公民、法人
【轉載】設定埠對映或DMZ主機---將內網web伺服器對映入公網
設定埠對映或DMZ主機---將內網web伺服器對映入公網 原連結 總的來說,原理很簡單,只要路由器的WAN IP是公網的IP,就可以將自己內網的一些服務 釋出到公網上去,讓連線網際網路的使用者 直接可以訪問 內部網路的服務。 實現方式有兩種:1 設定DMZ主機;
【git】將未提交的程式碼恢復到上次commit的狀態
問題描述 昨天我把程式碼commit並push到了github上,然後做了一系列修改。現在我想把這一系列修改刪掉,即恢復到commit的狀態。 基本思路: 使用git diff 配合 git checkout – 檔名(帶路徑的)將每個改動檔案的恢復。 解決步驟 1.