有没有办法告诉编译器(gcc/mingw32),在构建对象文件(
lib*.o
)时只从.c文件中公开某些函数?我想这样做的原因是,我正在静态链接到一个超过100,000行的库(SQLite),但我只使用其中的几个函数。如果我可以告诉编译器只公开那些函数,它将优化掉所有从未需要的函数的代码,从而大大减小库的大小。
.so
文件,而非 DLL 文件。我认为一旦源代码被编译,链接器就无法知道哪些部分被需要,必须导入整个文件。 - Baruch