2
我確實進行了一些工作要明白,php 7.0字符串可以大於2^31,多大?
升級票據上寫着:
支持長度> = 2^31字節的64位串構建。
,但我讀使用的字符串長度此link
和types.h
源代碼中定義size_t
似乎應該是2^32
在32位構建和2^64
在64位建立我猜?
我確實進行了一些工作要明白,php 7.0字符串可以大於2^31,多大?
升級票據上寫着:
支持長度> = 2^31字節的64位串構建。
,但我讀使用的字符串長度此link
和types.h
源代碼中定義size_t
似乎應該是2^32
在32位構建和2^64
在64位建立我猜?
現在是2 -1在實踐中,因爲這就是用於字符串長度的C類型,通常是在64位系統上的size_t
。
但是,在實踐中,您實際上無法制作那麼大的字符串,因爲沒有創建可以在接近內存量的任何位置使用的計算機。
這是什麼將的意思是,如果你有一個16GB的RAM的計算機,你可以想象如果你想要創建一個15GB的字符串。不過,你不太可能需要。
你用2^31字符做什麼? :0 – ventaquil
是的,2^31B = 2GB,當我做一些php控制檯shell時,我用來處理那些來自文本文件格式的大字符串,比如json –
猜測位,但2^64是18.4艾字節,所以如果是最大的支持,你能夠使用的數量將受到應用程序運行的系統中RAM的限制。因此,可能沒有具體的限制,因爲它可能會在系統間發生變化,並隨着操作系統可支持的最大內存量而發生變化。 – gabe3886