美文网首页
编译流程、静态库、动态库

编译流程、静态库、动态库

作者: Ahwind | 来源:发表于2019-08-23 14:28 被阅读0次

mac系统
提前准备好test.c文件,内容如下

include<stdio.h>

int main(){
printf("hello world!\n");
return 0;
}
打开终端,切到test.c文件所在目录
一、编译流程
1、预处理
gcc -E test.c -o test.i
2、编译
gcc -S test.i -o test.s
3、汇编
gcc -c test.s -o test.o
4、链接
gcc test.o -o test
最后生成的为可执行文件,输入
./test
输出
hello world!
二、生成静态库
1、生成目标文件
gcc -c test.c -o test.o
2、使用ar命令将目标文件打包成静态库
ar rcs libtest.a test.o
三、生成动态库
1、生成目标文件
gcc -c test.c
2、使用-fPIC和-shared生成动态库
gcc -shared -fPIC -o libtest.so test.o

相关文章

  • 静态库

    静态库 静态库动态库简介 .a 静态库:被编译好的二进制文件 静态库:.a, .framework 动态库: .d...

  • 编译流程、静态库、动态库

    mac系统提前准备好test.c文件,内容如下 include int main(){print...

  • iOS-静态库&动态库-Embed&Sign

    1、静态库&动态库 1.1 库介绍 程序的run流程:编译->链接->生成可执行文件->运行(加载可执行文件&动态...

  • iOS静态库及动态库

    2018-06-19 浅析静态库链接原理编译原理以及什么是静态库和动态库 转之: iOS 静态库和动态库(库详解)...

  • Ndk生成so和a库,然后主项目进行调用

    在 NDK 开发中引入第三方静态库和动态库 静态库和动态库 静态库 静态库文件后缀一般为 .a ,利用静态库编译成...

  • Xcode7中创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • 创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • iOS开发-动态库加载(实时模块更新)

    动态库和静态库 静态库和动态库是相对编译期和运行期:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改...

  • iOS 静态库Framework开发(包含静态库,bundle使

    静态库和动态库 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

网友评论

      本文标题:编译流程、静态库、动态库

      本文链接:https://www.haomeiwen.com/subject/dnzzsctx.html