gcc工作流程和编译原理 1. 预处理 gcc -E 2. 编译 gcc -S 3. 汇编 gcc -c 4. 链接 没参数 gcc的参数 -I 指定头文件的路径 -o 指定生成的文件名 -D 在编译的时候给代码定义宏 -O 优化程序 后面跟 0 1 2 3 这是优化等级 -Wall 在程序编译的时 ...
分类:
其他好文 时间:
2018-09-08 11:48:18
阅读次数:
193
库文件是已经编译好的二进制代码。这个二进制代码可以是动态的,如 .so 也可以是静态的,如 .a ,如果是动态的,则你最后生成的程序文件在运行时,需要这个动态库的支持,如果是静态的,则你最后生成的客执行程序文件运行时可以脱离这个库文件而独立运行。 ...
分类:
其他好文 时间:
2018-09-07 19:17:10
阅读次数:
194
手把手教你学CMake-----这一节我们将自己动手写一个动态库和一个静态库,并安装头文件和共享库以供其他程序使用 。下一节,将编写程序应用这一节安装的头文件和库文件。 ...
分类:
其他好文 时间:
2018-09-06 16:25:11
阅读次数:
1531
Win32编程之静态库编写与使用.动态链接库的编写与使用 一丶什么是静态库.什么是动态链接库. 静态库其实就是解决模块开发的一种解决方案.在以前.我们写代码的时候.每个人都可以独立写一个项目.但是现在不行了.一个项目往往要很多人一起去编写.而其中用到的技术就类似于静态库. 每个人编写自己的东西.最后 ...
一、静态库 静态库编译后的执行程序是不需要其他函数库支持的 原因:第三方库的代码已经拷贝到你要执行的程序之中,所以这时候就不需要再依赖第三方库,执行代码具有独立性 二、动态库 1.理解 : 你的执行程序用到此函数库时才会去调用它 原因: 第三方库和你执行的代码一起加载到系统中,他们是并行存在的,当程 ...
分类:
其他好文 时间:
2018-09-05 20:00:13
阅读次数:
188
静态库(.a)与动态库(.so)的简明介绍 gcc有很多关于静态库,动态库的选项如 ,` L fPIC shared Wl, soname`,看着很复杂容易混淆,其实静态库和动态库都是应需而生,只要有了一个线索都很容易理解。 普通编译 假设有三个文件(后面均使用这个例子): 我们要想运行这个程序需要 ...
分类:
其他好文 时间:
2018-09-05 14:00:53
阅读次数:
180
一、git下载:https://github.com/davisking/dlib 官网:http://dlib.net/ 二、vs中编译成静态库 1、在vs2015中创建静态库工程(vs2015以上的c++版本才支持) 2、在源文件中添加dlib\dlib\all\source.cpp,不用移动, ...
分类:
其他好文 时间:
2018-08-31 10:43:48
阅读次数:
282
工程中的每个C语言源文件被编译后产生目标文件,这些目标文件如何生成最终的可执行程序呢? 链接器: 静态链接: 静态链接就是将库文件或者目标文件直接加入到可执行文件当中。 Linux下静态库的创建和使用: 静态库示例程序:20-1.c slib.c 将slib.c制作成静态库: 先将slib.c编译成 ...
分类:
其他好文 时间:
2018-08-26 11:58:57
阅读次数:
156
小结内容 建立一个静态库和动态库,提供 HelloFunc 函数供其他程序编程使用, HelloFunc 向终端输出Hello World 字符串。 安装头文件与共享库。 1.代码与CMakeList.txt文件编写 首先建立 t3 目录,用于存放本节涉及到的工程 t3目录下创建lib目录用来存代码 ...
分类:
其他好文 时间:
2018-08-25 14:23:37
阅读次数:
167
CMakeLists.txt 的语法比较简单,由命令、注释和空格组成,其中命令是不区分大小写的。指令是大小写无关的,参数和变量是大小写相关的。但推荐全部使用大写指令。符号 # 后面的内容被认为是注释。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔。 自己写了一个小例子,包含了静态库和动态 ...
分类:
其他好文 时间:
2018-08-10 21:15:10
阅读次数:
138