Windows应用程序的类型 -控制台程序Console DOS程序,本身没有窗口,通过Windows DOS窗口执行 -窗口程序 拥有自己的窗口,可以与用户交互 -库程序 存放代码、数据的程序,执行文件可以从中取出来代码执行和获取数据 -静态库程序 扩展名LIB,在执行文件执行时从中获取代码 -动 ...
近期参与的项目中使用了公司另外一个同事提供的一个静态库文件。该静态库文件集成了CUDA, OpenCL两个库,用于做图形加速计算,提高视频解码拼接速度。但是在编译链接项目时,VS爆出如下错误: 编译阶段并没有出现错误,根据VS输出判断是符号重定义。但是,如上提示中的符号“__xi_a”等并没有出现在 ...
分类:
其他好文 时间:
2016-05-30 12:32:46
阅读次数:
792
参考博文:C++静态库与动态库 >> 静态库 1. 静态库的制作 a) 编辑 name.cpp 和name.h文件 b) $g++ -c name.cpp //注意带参数-c,否则直接编译为可执行文件 c) $ar -crv libname.a name.o //通过ar工具将目标文件打包成.a静态 ...
分类:
编程语言 时间:
2016-05-28 19:04:59
阅读次数:
815
一 常用脚本 1 打包脚本 脚本如下,下面附上ar 和 ranlib命令参考(命令来自于网络) ALLLIB=*.aFILE=`ls *.a`#原来的库解压重命名 for F in $FILEdo ar x $F OBJ=`ar t $F` for O in $OBJ do mv $O ${F}_$ ...
分类:
其他好文 时间:
2016-05-27 21:59:56
阅读次数:
1189
一、基本概念
什么是库
在windows平台和linux平台下都大量存在着库。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。
由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。
本文仅限于介绍linux下的库。库的种类
linux下的库有两种:静态库和共享库(动态库)。
二者的不同点在于代码被载入的时...
分类:
其他好文 时间:
2016-05-27 11:42:26
阅读次数:
195
编译器将.c文件编译成.o文件。 动态库是用.o生成.so文件,一般命令为lib***.so ,编译时其不被link到目前代码中,程序运行时载入。 静态库实用.o生成.a 文件,命令为 lib***.a 编译时被link到目标代码中。 想起自己写过的驱动代码,将很大的芯片的driver,编程一个.a ...
分类:
其他好文 时间:
2016-05-25 13:24:20
阅读次数:
130
lipo -create SQY/iOS/iphoneos/libGamePlusAPI.a SQY/iOS/iphonesimulator/libGamePlusAPI.a -output SQY/iOS/libGamePus.a 其中SQY/iOS/iphoneos/libGamePlusAPI ...
分类:
移动开发 时间:
2016-05-25 12:46:54
阅读次数:
153
1(1)库文件:静态库文件 和 共享库文件(2)比较a.静态库文件: 使用静态库文件时,直接把代码/指令复制到目标文件中 目标文件会显得比较庞大,修改和维护都不方便 可以脱离静态库文件,效率比较高 b.共享库文件: 使用共享库时,将代码/指令所对应的地址复制到目标文件 目标文件会比较小,修改和维护比 ...
分类:
其他好文 时间:
2016-05-25 10:51:43
阅读次数:
198
对Linux环境动态库和静态库的一些基础知识做一些总结, 首先总结静态库的编译步骤。 1 先基于.cpp或者.c文件生成对应的.o文件 2将几个.o文件 使用ar -cr命令 生成libname.a文件 libname.a 为静态库, name 为静态库的名字, 可以根据模块功能命名。 举个例子 在 ...
分类:
系统相关 时间:
2016-05-24 19:05:40
阅读次数:
185
第一步: 新建静态库项目,将生成的.m跟.h文件删除 第二步:加入自己要打包的.m和.h文件 第三步: 点击箭头所指的选项,选中New Headers Phase, 在Headers中加入要暴露的.h文件 第四步:commend + B 编译生成分别适用于真机和虚拟机的两个静态库 第五步:(合并两个 ...
分类:
其他好文 时间:
2016-05-24 16:33:49
阅读次数:
99