################################################################################
#******注意：编译参数设置不对，会造成启动异常********
#-msoft-float 使用软件浮点
#-ffunction-sections：不用此参数时，.o里代码部分只有.text段；使用此参数，则会使每个函数单独成为一段，
#	比如函数func1()成为.text.func1段，但对链接后代码大小没影响。 
#-fno-pic参数，因为它会使GCC产生非PIC（即位置相关）的代码  mips3 -O2
#-fno-builtin  不接受不是两个下划线开头的内建函数(built-in function).目前受影响的函数有
#	_exit, abort, abs, alloca, cos, exit, fabs, labs, memcmp, memcpy, sin, sqrt, strcmp, strcpy,和strlen.
#
#	
#################################################################################

-ffunction-sections
       -fdata-sections
           Place each function or data item into its own section in the output file if the target supports arbitrary sections.  The name of the
           function or the name of the data item determines the section’s name in the output file.

           Use these options on systems where the linker can perform optimizations to improve locality of reference in the instruction space.  Most
           systems using the ELF object format and SPARC processors running Solaris 2 have linkers with such optimizations.  AIX may have these
           optimizations in the future.

           Only use these options when there are significant benefits from doing so.  When you specify these options, the assembler and linker will
           create larger object and executable files and will also be slower.  You will not be able to use "gprof" on all systems if you specify this
           option and you may have problems with debugging if you specify both this option and -g.



 -fomit-frame-pointer
           Don’t keep the frame pointer in a register for functions that don’t need one.  This avoids the instructions to save, set up and restore
           frame pointers; it also makes an extra register available in many functions.  It also makes debugging impossible on some machines.

           On some machines, such as the VAX, this flag has no effect, because the standard calling sequence automatically handles the frame pointer
           and nothing is saved by pretending it doesn’t exist.  The machine-description macro "FRAME_POINTER_REQUIRED" controls whether a target
           machine supports this flag.

           Enabled at levels -O, -O2, -O3, -Os.



