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库嵌入到单片机上,爆哭~~~~~

  • 相关阅读:
    IntelliJ Idea使用代码折叠
    c# 文件属性读取操作及文件之间操作
    c#文件操作
    c++头文件 #include<iostream>
    基本SQL语句
    dd
    c#属性中的get和set属性
    c#
    c#运算表达式
    c#方法
  • 原文地址:https://www.cnblogs.com/forest128/p/15186658.html
Copyright © 2011-2022 走看看