文章浏览阅读892次。当我们有两个目标文件时,如何将它们链接起来形成一个可执行文件?使用以下两个源代码文件作为例子展开分析: // a.cextern int shared;int main(){ int a = 100; swap(&a, &shared);}// b.cint shared = 1;void swap(int* a......
2023-11-13 14:36 阅读 阅读全文文章浏览阅读626次。新版的curl 支持了更细致时间粒度的curl_easy_getinfo,以及HTTP2, 这里介绍手工编译源码安装方式,并使用openssl1.1.1b从https://www.openssl.org/ 下载1.1.1 序列的long-term 源码,并编译安装 ./config --prefix=/opt/itc/openssl enable-weak-s......
2023-11-13 10:04 阅读 阅读全文文章浏览阅读260次。GCC编译过程与动态链接库和静态链接库https://www.cnblogs.com/king-lps/p/7757919.html 库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 windows上对应的是.lib .dll; linux上对应的是.a .so 首先理解一下gcc的编译过程......
2023-11-13 10:06 阅读 阅读全文文章浏览阅读1.5w次,点赞18次,收藏52次。实现链接的方法有三种:静态链接、装入时动态链接和运行时动态链接。①静态链接图5.2.2示出了经编译后所得到的三个目标模块A、B、C,他们的长度分别为 L、M、N。在模块A中,有一条......
2023-11-13 14:36 阅读 阅读全文文章浏览阅读6.5k次,点赞2次,收藏2次。1.什么是静态连接库,什么是动态链接库 静态链接库用通俗的话讲,静态库就是将代码编译到一个二进制文件下(通常扩展名为.LIB).然后客户端调用程序,只需要包含相关的.h文件及LIB库......
2024-01-25 09:00 阅读 阅读全文文章浏览阅读808次。这里有两件事:是否请求ELF解释器(ld.so)。就像#!/bin/sh但对于二进制文件一样,在之前运行_start。这是静态可执行文件与动态可执行文件之间的区别。可供ld.so加载的动态链接库的列表恰好为空。显然,这就是......
2023-11-13 10:05 阅读 阅读全文文章浏览阅读8.8k次。想写一个curl下载工具,批量保存页面中的图片或其他资料的脚本工具。但在公司写好了之后,在家里不能运行。于是就上网搜索了一大圈,找到设置CodeBlocks使用静态链接库的方法。 Go to Project build options->......
2024-03-25 08:30 阅读 阅读全文1.标准库的IO接口:fopen/fwrite/fread/fseek/fclose这里着重介绍一个fopen接口:FILE * fopen(const char* filename,const char* mode)mode:"r/r+/w/w+/a/a+"1.w/w+:每次都会清空文件原有内容进行写入数据、如果原来没有这个文件的话,就会自行创建、......
2023-10-13 07:35 阅读 阅读全文背景:写这篇博客的原因是:最近在搞嵌入式,需要交叉编译opencv库文件,自己写Makefile,通过arm-linux-g++编译、链接、生成可执行文件,从而实现了移植的过程。平台是Toradex的Apalis TK1,三千多元,买回来我就后悔了,全是英文......
2023-10-13 09:37 阅读 阅读全文文章浏览阅读4.8k次,点赞2次,收藏3次。阿里、腾讯、163等yum源都没有相关安装包给大家提供一个网站,这里可以下到各种安装包https://pkgs.org/1.1、从该网站上下载glibc-staticwget http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/glib......
2024-03-27 15:49 阅读 阅读全文