簡體   English   中英

Linux 64位移植問題

[英]Linux 64 bit porting issue

我正在Linux 64位移植上,我們在代碼中使用了很多long變量。 現在在Linux 64上,long是64位。 我們在位操作代碼中面臨問題。 我聽說有選項LLP64(長為32)和ILP64(長為64)。 但是我不知道它的編譯器選項(g ++)。 我還有更多的疑問,如果我使用選項LLP64進行編譯,那么可執行文件是否將是本機64位?
使用此選項,是否可以包含64位的第三庫?

gcc不允許您選擇LLP64,至少不能在linux目標上使用。 即使這樣做,您也不會與其他庫(包括libc)兼容。

你要么必須

  • 修復代碼以處理32或64位的long,
  • 更改代碼以使用int(或更好的int32_t)。
  • 更改代碼以使用long long(或更好的int64_t)
  • 將應用程序編譯為32位(如果存在使用的32位庫,則可以在64位計算機上正常運行)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM