.h头文件和.a静态库文件问题记录
来源:互联网 发布:微信二级分销系统源码 编辑:程序博客网 时间:2024/05/20 05:24
场景:
1. ocilib目录中有type.h和ocilib.c,其中type.h中定义了一个结构体field_struct(其中有一个字段val,开始为char[1024],后来被加长为char[2048]),并且在ocilib.c中被使用,ocilib.c和type.h被编译成为静态库文件ocilib.a
2. svrlib目录中有svrlib.c,其中也使用到了type.h的field_struct,但是由于Makefile中链接的INCPATH写错了,指引到了修改之前的type.h(即field_struct中val字段还是为char[1024]),编译生成静态库文件svrlib.a
3. appsvr目录中有appmain.c,其中使用了type.h的field_struct以及ocilib.a和svrlib.a中的函数,链接正确的type.h编译后形成可执行二进制文件appmain
结果:
appmain中使用ocilib.a中的函数时,field_struct.val的长度为2048
appmain中使用svrlib.a中的函数时,field_struct.val的长度为1024
总结:
1. .h的内容在.a被编译生成时被直接使用,编入了.a,不再因后续使用.a时链接的.h变化而变化
2. .h影响且只影响当前编译生成的动态库、静态库、二进制文件
阅读全文
0 0
- .h头文件和.a静态库文件问题记录
- Xcode把.a静态库和.h头文件打包成framework的脚本
- ios学习--XCode打包.a静态库文件&正确导出.h头文件
- 如何封装.h和.a静态库使得头文件中不含有暴露内部实现的private成员变量
- 记录stdint.h头文件
- refclock.h 头文件问题
- h头文件找不到问题
- lib静态链接库与.h头文件关系总结
- fcntl.h头文件和unistd.h头文件
- fcntl.h头文件和unistd.h头文件
- fcntl.h头文件和unistd.h头文件
- fcntl.h头文件和unistd.h头文件
- APUE(1) ---- apue.h头文件记录
- vs项目中头文件(.h)静态库(.lib)和 动态库(.dll )的路径和配置问题
- .h头文件,.lib库文件和.dll关系
- 类的静态成员(外加 头文件.h和实现文件.cpp的用法)
- 头文件和源文件记录
- 头文件atlstr.h使用错误问题
- SpringBoot学习笔记之拦截器使用
- POJ-1006 Biorhythms (生物节律)
- 算法提高 ADV-155 上帝造题五分钟
- SVN Working copy locked Please execute the 'Cleanup' command.
- 集合-hashCode
- .h头文件和.a静态库文件问题记录
- Vue数组检测
- java元组
- Jni/NDK常见问题
- 构造函数与析构函数
- 机器学习深入与强化--数学基础(2)
- 纪念第一次深度学习跑通
- hive简介——java连接和数据管理的方式
- css常用标签英文全称