printf()功能很強大, 但也因此又慢(執行速度)又大(code size).
若程式只需要單純的印出字串, 通常做法是寫一個精簡版本替代printf(),
void out_str(char * s)
{
while(*s) {
putchar(*s);
++s;
}
}
接下來只要把程式中的printf改成out_str即可
void main(void)
{
out_str("hello, world");
}
※ 引述《mosquito520 ( )》之銘言:
: → 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