博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gcc编译
阅读量:5065 次
发布时间:2019-06-12

本文共 940 字,大约阅读时间需要 3 分钟。

gcc编译流程:

test.c---->test.cxx(预编译)---->test.s(asm文件)---->test.o(obj文件)--->test(exe)
        (-E)                         (-S)                           (-c)                        链接

             ---test.c

            |                    ----test_a.c
project-|                   |
            ---h_test.h---|---test_b.c
                                |
                                ----test_c.c

test.c:

#include "so_test.h"int main(){test_a();test_b();test_c();return 0;}

h_test.h

1 //so_test.h 2 #include "stdio.h"3 void test_a();4 void test_b();5 void test_c();

test_a.c

1 //test_a.c 2 #include "so_test.h"3 void test_a()4 {5 printf("this is in test_a...\n");6 }

test_b.c

1 //test_b.c 2 #include "so_test.h"3 void test_b()4 {5 printf("this is in test_b...\n");6 }

test_c.c

//test_c.c #include "so_test.h"void test_c(){printf("this is in test_c...\n");}

 

(1)gcc编译动态库
gcc test_a.c test_b.c test_c.c -fPIC -share libtest.so
gcc test.c -L . -ltest -o test
./test

(2)gcc编译静态库

gcc -c test_a.c test_b.c test_c.c

ar -rv libtest.a test_a.o test_b.o test_c.o(打包)
gcc test.c -L . -ltest -static -o test2
./test2

转载于:https://www.cnblogs.com/buyizhiyou/p/8043332.html

你可能感兴趣的文章
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
二十六、Android WebView缓存
查看>>
django Models 常用的字段和参数
查看>>
linux -- 嵌入式linux下wifi无线网卡驱动
查看>>
SVN使用教程总结
查看>>
SQL中varchar和nvarchar有什么区别?
查看>>
OpenCV矩阵运算总结
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>