vxworks libdrv.a的调用分析

通过bcm sdk编译过程理解vxworks下的库文件

libdrv.a里面包含了很多.o文件,所以编出来很大,但是它们没有链接,所以链接可能有问题


举例说明如何通过libdrv.a编译m85xxPci.c

可视化IDE编译方法

我们需要通过workbench工具的kernel configuration包含INCLUDE_DRV_PCI宏定义的组件,然后会自动生成prjConfig.c,它里面调用m85xxPciRegister。

它会通过-ldrv命令将libdrv.a的m85xxPciRegister函数相关定义,拷贝过来。

在m85xxPci.c中又调用了其他c文件的函数,会出现undefined reference to func。

此时可能要包含其他宏定义组件,INCLUDE_PCI_BUS_AUTOCONF

命令行编译方法

而通过命令行编译的话,我们不能仅通过包含INCLUDE_DRV_PCI宏定义,就编译m85xxPci.c。还需要手动调用m85xxPciRegister函数

你可能感兴趣的:(vxworks libdrv.a的调用分析)