我已經被告知,並且無法在網上找到確認或反駁。這是真的?如果是這樣,那是什麼限制?它是否通常由編譯器強制執行?ANSI C是否對內存中的程序大小設置了限制?
3
A
回答
8
ANSI C不關心這種事情。
在C99標準中,沒有任何內容可以在§5環境中討論「將程序加載到內存中」。
唯一的考慮因素是環境必須提供符合作爲語言/標準基礎的抽象狀態機。這並不需要「在內存中加載程序」 - 代碼可以從一副打孔卡中緩存。
上有字符集表達的限制,該源代碼大小和複雜程度和其他一些東西 - 但這些大多是下界,一個符合標準的實現必須接受,並涉及到翻譯環境,而不是執行環境。
+1
事實上,它甚至沒有定義「程序的大小」可能是什麼。對象有大小。其他的東西,比如用於某些操作的開銷的函數和存儲,可能會佔用某處空間*,但是該語言本身不提供它們的大小可能的概念。 –
1
如果您的可執行文件太大,您可能會遭受抖動,但除特定於實現的可執行文件格式外,沒有任何最大大小。
相關問題
- 1. 對程序設置了時間限制
- 2. .NET應用程序中的用戶設置大小是否有限制?
- 3. C++中的無序集的大小是否有限制
- 4. 內存中的C++程序大小
- 5. JSONP是否對響應施加了一定的大小限制?
- 6. Ruby對象是否有大小限制?
- 7. Android Marketplace中的應用程序的大小是否有限制?
- 8. Java程序中的字符串大小是否有限制?
- 9. 設置Java程序的最大內存是否影響GC?
- 10. Cassandra數據庫行大小是否受可用內存限制?
- 11. dart VM是否對本機擴展的堆棧內存大小施加限制?
- 12. 什麼是Android程序大小限制?
- 13. 高速緩存內存大小限制
- 14. 使用限制大小的C中的LRU緩存設計
- 15. iPhone設備上的物理內存大小限制 - 每個應用程序
- 16. Android消耗的內存大小限制
- 17. Android應用程序運行內存大小限制
- 18. Ansi中的位設置C
- 19. Linux中的內核模塊是否有大小限制?
- 20. 如何設置UITextView的限制大小?
- 21. 堆棧大小的最大使用限制是否有限制?
- 22. Node.js中的響應大小是否有大小限制
- 23. C中的數組大小是否有限制?
- 24. 是否有可能專門爲變量設置內存限制?
- 25. chrome.hid.send的ArrayBuffer大小是否有限制?
- 26. 確定是否設置了「24小時制」設置
- 27. 如何在AEM 6.2中設置對S3存儲桶大小的限制
- 28. OpenCL中的私有內存是否有最大限制?
- 29. 使用apache cordova創建應用程序是否存在大小限制?
- 30. Linux中進程的堆棧大小是否有限制
我期望這是瘋狂的架構和操作系統的依賴,而根本不是ANSI會關心或關心的東西。 – Joe
@Joe:我會,但我會期待相同的,說[外部變量的數量](http://stackoverflow.com/questions/6835718/does-ansi-c-place-a-limit-on - 程序中的外部變量數量),或第一個不同字符在不同變量名稱中的位置。在這兩種情況下,ansi都指定了符合編譯器必須支持的下限(分別爲4095和31或32)。由於ANSI關心這兩個方面,它似乎也可能會關心程序的大小。 –