c++,so依赖静态库 编译后只有十几kb
时间: 2024-01-27 14:01:51 浏览: 144
Qt下使用C++调用静态库及动态库示例程序
c语言的编译器gcc在编译程序时和静态库链接时,只会将程序中实际用到的函数和变量复制到最终的可执行文件中,而对于没有被使用的函数和变量则不会被复制。因此,当程序依赖的静态库中只包含程序实际需要的函数和变量时,编译后的可执行文件会非常小,甚至只有几十kb的大小。
对于c语言来说,静态库是一种包含多个目标文件(.o文件)的库文件,其中包含了一系列相关的函数和变量。在编译程序时,可以使用静态库来避免代码的重复编写,提高代码的复用性和可维护性。
当程序使用静态库编译时,编译器会将程序中调用的函数和变量的引用替换为静态库中对应的实现,最终生成一个独立的可执行文件。由于静态库中只包含程序实际需要的函数和变量,因此最终的可执行文件大小会非常小。
总之,c语言依赖静态库编译后只有十几kb的大小是由于静态库中只包含程序实际需要的函数和变量,避免了代码的重复编写,提高了程序的可重用性和可维护性,同时也减小了最终可执行文件的体积。
阅读全文