zoukankan      html  css  js  c++  java
  • 封装静态库

    封装.a静态库:
    打开cmd
    cd到.c文件所在的文件目录
    gcc -c xxx.c(注意:如果gcc版本过低,可能需要改成gcc -c xxx.c -std=c99)
    ar -rc libxxx.a xxx.o(此时已封装好)
    gcc main.c libxxx.a -o exename(连接主函数进行测试)
    exename(能正常运行表明静态库没有问题)

    封装.lib静态库:
    新建静态库项目
    将.c、.h文件放入(似乎不放.h也可以)
    属性中设置 不使用预编译头
    点击工具栏的生成
    将lib文件复制到main函数所在的目录,或者引入静态库时填写绝对路径
    main函数中加入一行代码引入静态库:#pragma comment(lib, "xxx.lib")
    执行

    以上是普通的静态库封装流程C语言编译器调用是没问题的,但如果需要与单片机结合,还要考虑静态库格式,如Windows封装的静态库文件格式是PE格式,UNIX、LINUX封装的静态库是ELF格式(readelf -a 文件名+后缀)可查看文件格式,此外还要考虑gcc参数问题。

    本博主就踩坑了,最后使用的linux下arm-none-eabi-gcc封装的.a静态库和keil5打包的lib库嵌入到单片机上,爆哭~~~~~

  • 相关阅读:
    Android List 排序
    Android Connection refused
    动态代理
    Java内存模型
    面试题整理
    检查结果
    单例模式
    2019年面试记录
    面试题目
    滑动窗口的最大值
  • 原文地址:https://www.cnblogs.com/forest128/p/15186658.html
Copyright © 2011-2022 走看看