C18:未使用的库函数是否占用EPROM中的空间?

时间:2012-02-19 17:22:39

标签: c code-size eeprom c18

Library.h

void Foo1(void);        // Unused
int  Foo2(int, int);    // Used
char Foo3(char);        // Unused

的main.c

// ...
#include "Library.h"
// ...
void main(void)
{
    int ret;
    // ...
    ret = Foo2(3, 7);
    // ...
}

我有一个库文件,里面有很多函数定义。由于未使用的库函数,生成的机器代码大小是否会增加?或者编译器会忽略那些未使用的函数来优化代码吗?

IDE:MPLAB 8.43
编译器:MCC18 3.34
PIC:18F2550

2 个答案:

答案 0 :(得分:2)

  1. 检查。使用反汇编程序或其他工具查看输出二进制文件并查找。
  2. 确定您的链接器是否可以选择进行死剥。

答案 1 :(得分:0)

对于lib中的C18成员是.o - 所以如果你的链接需要一个成员的一个函数(整个函数).o包含在最终的bin / hex代码中。