首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
linux静态库的生成与使用(转)
】的更多相关文章
linux静态库的生成与使用(转)
linux静态库的生成与使用(转) 库是一种软件组件技术,库里面封装了数据和函数. 库的使用可以使程序模块化. Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件). Linux通常把库文件存放在/usr/lib或/lib目录下. Linux库文件名由:前缀lib.库名和后缀3部分组成,其中动态链接库以.so最为后缀,静态链接库通常以.a作为后缀. 在程序中使用使用静态库和动态库时,他们载入的顺序是不同的. 静态库的代码在编译时就拷贝的应用程序中,这样的优点是节省编译时间…
Linux静态库生成指南
Linux静态库生成指南 Linux上的静态库,其实是目标文件的归档文件.在Linux上创建静态库的步骤如下: 写源文件,通过 gcc -c xxx.c 生成目标文件. 用 ar 归档目标文件,生成静态库. 配合静态库,写一个使用静态库中函数的头文件. 使用静态库时,在源码中包含对应的头文件,链接时记得链接自己的库. 下面通过实例具体讲解. 写源文件,生成目标文件. 第一个源文件 my_print.c #include <stdio.h> void cout(const char * me…
Linux下动态库和静态库的生成和使用
1.准备头文件和源文件 hello.h #ifndef HELLO_H #define HELLO_H void hello(const char *name): #endif hello.c #include <stdio.h> void hello(const char *name) { printf("Hello, %s!\n", name); } main.c #include "hello.h" int main(int argc, char…
linux下静态库的生成和使用
一.静态库概念 1.库是预编译的目标文件(object files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. 2.标准系统库可在目录/usr/lib与/lib中找到.比如,在类Unix系统中C语言的数序库一般存储为文件/usr/lib/libm.a.该库中函数的原型声明在头文件/usr/include/math.h中. 3.C标准库本身存储为/usr/lib/libc.a,它包含ANS1/ISO标准指定的函数,比如printf.对每一个…
QT中静态库的生成与使用
一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow"; 3. 编写项目文件: mywindow.pro 注意两点: TEMPLATE = lib CONFIG += staticlib 4. 生成Makefile: qmake 5.…
VS2008 动态库和静态库的生成和加载
第一:动态库和静态库的生成: 1) 新建一个生成dll工程: 文件->新建->项目->Win32->Win32控制台应用程序 输入项目名称:dllTest ,项目路径:D:\VC 确定 下一步 应用程序类型:选择DLL 完成 2) 编写代码: 2-1) 增加一个头文件:dllTest.h #define ICILIB_UTIL_API __declspec(dllexport) //生成动态库时,同时在Debug或Release目录下生成.lib和.dll文件. class IC…
QT中静态库的生成与使用——创建共享库代码,附例子
一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow"; 3. 编写项目文件: mywindow.pro 注意两点: TEMPLATE = lib CONFIG += staticlib 4. 生成Makefile: qmake 5.…
Linux静态库与动态库制作过程
文件:tobigchar.c mian.c tobigchar.h //tobigchar.c char tos() { char ch; ch = getchar(); if(ch >= 'a' && ch <= 'z') ch = ch - 32; else if(ch >= 'A' && ch <= 'Z') ch = ch + 32; return ch; } //main.c#include<stdio.h> #incl…
Linux 静态库(.a)转换为动态库(.so)
Linux 静态库转换为动态库 参考 http://blog.csdn.net/moxuansheng/article/details/5812410 首先将.a文件转为.so文件是可以实现的 原因是:.a 文件其实是 .o 文件的压缩包,所以你需要去解压缩,然后再生成 .so 就可以了 举例: 编辑 test.c #include <string.h> void test(char *str) { strcpy (str, "haha"); } 1 生成静态库:l…
关于Linux静态库和动态库的分析
关于Linux静态库和动态库的分析 关于Linux静态库和动态库的分析 1.什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可运行代码的二进制形式.能够被操作系统加载内存运行. 因为windows和linux的本质不同,因此二者库的二进制是不兼容的. 本文仅限于介绍linux下的库. 2.库的种类 linux下的库有两种:静态库和共享库(动态库). 二者的不同点在于代码被加载的时刻不同. 静态库的代码在编译过程中已经被加载可运行程序,因此体积较大. 共享库的代…