三合一网站包含什么,广告制作网站源码,朔州公司做网站,杭州网站建设网络公司把常用的、不经常修改的代码库编译成lib以后#xff0c;可以加快整个工程的编译速度。
一个常见的应用场景就是#xff0c;把ST的标准库或HAL库等编译成lib#xff0c;这样以后再编译整个工程时#xff0c;就无需再次编译他们了#xff0c;可以节省编译时间。当然#x…把常用的、不经常修改的代码库编译成lib以后可以加快整个工程的编译速度。
一个常见的应用场景就是把ST的标准库或HAL库等编译成lib这样以后再编译整个工程时就无需再次编译他们了可以节省编译时间。当然坏处是无法通过右键跳转到函数定义了。
1、把打算编译成lib的多个c文件放到同一个group。你也可以不把这些c文件放到同一个lib这不影响后续步骤。放到同一个group的目的是仅仅是方便后续操作而已。
如下图我们可以新建一个group。
2、编译项目保证项目可以编过最好是0 warning 0 error否则后续无法正确生成lib库即使强行生成那也是错的。
3、右击【组】- Option for Group。。。。
4、取消勾选【include in target build】,也即这个组将不会被编译。按照这个步骤把所有不打算编译的group都取消勾选只保留打算编译为lib的那个组。
5、效果如下所示不编译的组会有红色的减号图标
5、依次点击【魔术棒】-output然后修改可执行文件的名称Name of Executable自己随便起一个名字就行了我起的名字叫mylib。然后选择可执行文件的类型为lib也即选中【Create Library】单选框。
备注下图的Create Executable单选框就是默认的也即生成hex文件。这里因为我们不想要hex而是要lib所以就不选它了。
6、点击全编rebuild按钮编译完即可在项目的文件夹中找到mylib.lib这个文件。
7、把已被编译为lib的c文件全部删掉或挪出项目文件夹h文件要保留在原处这时keil工程树会提示某些文件已找不到直接右击移除出工程即可然后把编译出的lib文件剪切到原先c文件所在的位置并把这个lib文件添加进工程树中
把取消编译的group再重新打开
把可执行文件类型再改回hex
重新编译项目此时我们发现在没有那一堆C文件的情况下也能编译通过并生成hex了。
通过以上步骤各位应该知道为什么要把想要编译为lib的那一堆c文件放到同一个group了如果不这么干你就得一个一个右击c文件选择排除编译如果文件多那要累死了还是把整个组一下子给干掉来的舒服。
如果想把多个c文件分别编译成一个个对应的lib步骤基本一样只能把其余文件或组一个个排除编译。