RTP之静态库

2022-01-24 14:38:06 浏览数 (1)

除了共享库,RTP也可以像内核态一样,去使用静态库 - Static Library。

它俩的区别是

RTP即使只调用共享库中的一个函数,也会加载整个库文件;RTP如果只使用静态库中的一个函数,则只会链接该函数所在的.o文件,而不是整个.a文件

多个RTP使用同一个共享库时,一共只需要加载一次;多个RTP使用同一个静态库时,每个RTP都要去链接、加载它

静态库的使用就简单多了,VIP都不需要包含INCLUDE_SHL

还是以Vx69为例,新建一个RTP工程

根据Target选择相应的Active build spec

Build tool改为Librarian

将代码加入工程,build得到.a文件

这时就可以在应用程序的RTP里调用这个静态库的函数了

只需要在工程的属性中包含这个.a文件即可

可以看到,这个例子是没有使用共享库的

如果你还保留着共享库的例子,可以跟本文的例子对比一下:使用静态库的vxe明显要大一些

0 人点赞