将编写的程序编译成lib库文件,给别人用时,编译的代码内自动化执行程序
自动化执行程序INIT_BOARD_EXPORT(fn),INIT_PREV_EXPORT(fn),INIT_DEVICE_EXPORT(fn)等相关函数都要在链接时才能起作用,所以你还必须给出链接文件,例如gcc的链接文件link.lds。
原因是链接器的原因,EXPORT的这些符号在链接时改变被丢弃了。
可以参考
就把EXPORT
这几行导出命令,放到一个独立的.c文件中,以源码给到客户。
命令的实现还是在.lib
或.a
中。
如果你是用keilMDK可以在options中Output选项卡下直接勾选Create Library。这样在输出目录OBJ下就有一个Lib库文件。如下:
如果你想了解更多的编译信息可以看这个链接,它的介绍非常全面。
https://blog.csdn.net/wuhenyouyuyouyu/article/details/81302987
不知道上面的回答对你有没有帮助,如果满意给点个采纳~~~~
不太明白,link.lds一样的,现在是发现INIT_BOARD_EXPORT(fn)相关的函数如果编译成lib库文件,对应的函数没有执行到