Optimizing C and C++ code for Embedded System !! Episode 4 (Thai Language)

Written by :  Ataya P
Date :
2 August 2010
Language : Thai
  
    ช่วนี้พยายามะลดขนาดขอไบนารี่ลงพราะMPUที่ใ้งานมีพื้ที่เฟรชเมโมรี่ค่อย้าง จะจำกัด ดูลองดูหลายๆอย่างแล้วก็สรุปได้ดังนี้ครับ(ถ้ามีวิีไดเอ็ทง่ยๆแบบ นี้กคงดีนะครั :)

/*
 * main.c
 *
 *  Created on: Aug 2, 2010
 *    ;  Author: Ataya P
 */
#include<stdio.h>

void A(){
    fprintf(stderr,"\n This is A \n");
}

int main(){
    A();
    return 0;
}

   โค้ดตวอย่างสร้งด้วยEclipseแล้วคอมไฟล์、ลิงค์แบบทั่วๆไปก็จะได้ขนาดไฟล์ไบ นารี่ที 23156 byte (Ubuntu Linux)



1.เอาข้อมูลดีบักออก
  เมื่อเอไบนารี่ไปันบนระบบจิงคงไม่จำป็นต้องเอข้อมูลสำหับดีบักไป้วยกระมัง ดังนั้นออฟชัน -g3 ที่ใช้ในตอนคอมไฟล์ก็เอาออกเลยครับ

Debug Level = None

   ลองเครียร์โปรเจ็คแล้วสร้างไบนารี่ใหม่ โอ้ จอร์ด ขนาดองไบนารี่็จะลดลงเหือ 7192 byte(ลดลง 23156 - 7192= 15964 byte)


2.ใช้Strip ทำการตัด Symbol ออกจากไนารี่ไฟล์
  ใช้คอมมานด์ข้างล่างทำการตัด Symbol ออกจากไปนารี่ไฟล์
   $ strip -s binaryfile
  คราวนี้ขนาดของไบนารี่ไฟล์ก็จะลดลงเหลือ 5496 byte (ลดลง 7192-5496= 1696 byte)

  สำหรับทปในการลดขาดไบนารี่ฟล์ยังมีตออีกนะครั ไว้เจอกันราวหน้าครบผม (^3^) /


Custom Search