1. 使用乘法代替除法。如果不需要較高的精度,使用float代替double。
2. 如果乙個函式內部會頻繁地使用全域性變數,可以使用區域性變數作為全域性變數的拷貝。
3. 棧總是保持對齊在4位元組邊界(32位cpu),區域性變數定義為char或short並不能帶來儲存空間上的節省,且會降低變數訪問速度。因此,在不修改對齊方式的情況下,盡量將區域性變數定義為32位。
4. 需要使用結構體作為函式引數時,使用指標代替。
5. 需要時,使用for( i = 10; i--; )代替for( i = 0; i < 10; i++)
6. 能夠使用暫存器傳遞的函式引數個數是有限制的。例如,4個以內的函式引數可能被保持在暫存器中,多餘的引數會被壓入棧。
7. 盡量安排經常被呼叫的函式成為葉子函式。葉子函式是指不再呼叫其他函式的函式,包括c語言庫函式。
c語言記憶體操作優化
1.使用乘法代替除法。如果不需要較高的精度,使用float代替double。2.如果乙個函式內部會頻繁地使用全域性變數,可以使用區域性變數作為全域性變數的拷貝。3.棧總是保持對齊在4位元組邊界 32位cpu 區域性變數定義為char或short並不能帶來儲存空間上的節省,且會降低變數訪問速度。因此,...
Android常用的記憶體優化方法總結
1.降低執行時記憶體 2.優化 3.記憶體洩漏優化 1.降低執行時記憶體 降低執行時記憶體可以分為減小apk體積和bitmap優化兩部分 1 減小apk體積 方法一 去除無用的資源 通過合理使用git,一些由於業務變更而基本不會用到的 該刪除的決不能手軟。即使以後要用到,通過git也能找回。同時一些...
C語言記憶體管理總結(2)
堆是乙個大容器,它的容量要遠遠大於棧,這可以解決由於棧造成的記憶體溢位的困難 由於棧一般都是以k為單位,如果程式中直接將較大的陣列儲存在函式內的棧變數中,很可能會記憶體溢位 一般比較複雜的資料型別都是放在堆中。但是在c語言中,堆記憶體空間的申請和釋放需要手動通過 來完成.在這個檔案中 include...