看板 ASM 關於我們 聯絡資訊
: → ksmrt0123:我很疑惑怎樣的code是'醜'但效能好的? 請問有例子嗎? 09/10 00:18 常見的寫法 #include <stdio.h> #include <8051.h> void putchar(char ch){ while(!TI); TI = 0; SBUF = ch; } void main(void) { printf("hello, world"); } SDCC編譯出來的結果 Other memory: Name Start End Size Max ---------------- -------- -------- -------- -------- PAGED EXT. RAM 0 256 EXTERNAL RAM 0 65536 ROM/EPROM/FLASH 0x0000 0x0993 2452 65536 比較醜的寫法 __code char array[] = {"hello, world"}; void putchar(char ch){ while(!TI); TI = 0; SBUF = ch; } void main(void) { char i; i=0; while(array[i] != '\0') { putchar(array[i]); i++; } } SDCC編譯出來的結果 Other memory: Name Start End Size Max ---------------- -------- -------- -------- -------- PAGED EXT. RAM 0 256 EXTERNAL RAM 0 65536 ROM/EPROM/FLASH 0x0000 0x0095 150 65536 以上隨便是隨便撈個compiler來用 隨便想個可能差比較多的範例 所以寫寫 僅供參考:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.187.83