关于静态库函数链接进入EXE文件的问题

C/C++ > C语言 [问题点数:20分,结帖人lbh2001]
等级
本版专家分:12328
勋章
Blank
蓝花 2008年12月 C/C++大版内专家分月排行榜第三
结帖率 100%
等级
本版专家分:1386
等级
本版专家分:398
等级
本版专家分:398
等级
本版专家分:817
等级
本版专家分:12328
勋章
Blank
蓝花 2008年12月 C/C++大版内专家分月排行榜第三
等级
本版专家分:12328
勋章
Blank
蓝花 2008年12月 C/C++大版内专家分月排行榜第三
等级
本版专家分:68340
勋章
Blank
红花 2008年10月 C/C++大版内专家分月排行榜第一
2008年6月 C/C++大版内专家分月排行榜第一
2008年5月 C/C++大版内专家分月排行榜第一
2008年4月 C/C++大版内专家分月排行榜第一
Blank
蓝花 2009年8月 C/C++大版内专家分月排行榜第三
2009年7月 C/C++大版内专家分月排行榜第三
2009年2月 C/C++大版内专家分月排行榜第三
lbh2001

等级:

Blank
蓝花 2008年12月 C/C++大版内专家分月排行榜第三
库链接问题

编译:编译过程是以每个.cpp文件为独立的编译单位的,生成一个个.obj 编译过程,将引用文件在.cpp文件中展开,并检查是否有正确的声明。如果该函数没有定义,编译器认为在连接过程可以在其他.obj文件中找到。头文件...

静态库、动态库,dll文件、lib文件,隐式链接、显式链接浅见

静态库和动态库分别应用在静态链接方式和动态链接方式中,所谓静态链接方式是指在程序执行之前完成所有的链接工作,把静态库一起打包合入,生成一个可执行的目标文件EXE文件)。所谓动态链接方式是指可执行目标...

linux下程序链接多个静态库,提示找不到函数链接问题

有时候你会发现函数所在的静态库,明明在Makefile里指定了,但是还是会报错,提示找不到。 原因就在于静态库之间有依赖关系以及链接顺序问题。书写在右边的库最先被链接。 解决办法: 一般来说有两种办法,一种是...

关于自定义函数静态库函数重名不报错问题的解决

上回书说道,在测试lapack的过程中,编写了main函数,同时在libf2c.a中同样定义了main函数,但上述两个函数链接并未出现重定义错误,现就以上问题给出解释

MFC程序(在静态库中使用MFC)及EXE文件移植问题

第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。如果程序直接移到一个没有安装过MFC的机器上时,可能会导致找不到MFC的DL

静态链接库与动态链接库导出函数详解

文章来源:http://hi.baidu.com/yueyemijing/blog/item/b0a3f500f932c181e850cd07.html MSDN资料: http://msdn.microsoft.com/zh-cn/library/d91k01sh(VS.80).aspx ...

静态库 动态库 静态链接 动态链接 编译器cl.exe 链接器link.exe

静态链接lib:是一个或者多个obj文件的打包(包括函数和数据、实际执行代码、符号表),是在编译的时候加进程序的,在运行时不用加载,在运行时对没有依赖性。  动态(链接dll:是在链接的时候加进...

静态库的编译和链接

静态库调用在外部文件中定义的函数:即在静态库中声明并调用函数,但是在外部文件中实现该函数。 在编译成静态库时,源文件中可以只提供函数声明,具体的实现交给调用该静态库的人去做。   假设有a.c和b.c,a.c...

静态库的inline(内联)函数

我在静态库(*.lib)里实现了一个类,类的一些成员函数是inline的,静态库可以成功生成。但如果在其他模块使用这个静态库中的类时,会提示“LNK2001 无法解析的外部符号...”链接错误。去掉静态库中的成员函数前的...

源程序.cpp编译链接生成可执行文件.exe的详细过程以及动态链接库dll和静态链接库lib的区别

.c或.cpp文件生成可执行文件.exe分为两个过程,即编译过程和链接过程。 编译是把文本形式源代码翻译为机器语言形式的目标文件的过程。 链接是把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成...

静态链接库与动态链接库导出函数详解(本文系转载)

文章来源:http://hi.baidu.com/yueyemijing/blog/item/b0a3f500f932c181e850cd07.htmlMSDN资料:http://msdn.microsoft.com/zh-cn/library/d91k01sh(VS.80).aspxhttp://pcedu.pconline.com.cn/empolder/gj/vc/0509/

静态库链接动态库时,如何使用该静态库

假设libXXX.a用了libpthread.so的函数“pthread_create”,那libXXX.a在链接时,有没有把“pthread_create”函数copy到自己身上,使其完全独立?main.c在链接时,只需要链接libXXX.a,还是连libpthread.so也要链接?...

解决C++程序中引用C的静态库(lib)中的函数,提示函数未定义的问题

解决C++程序中引用C的静态库(lib)中的函数,提示函数未定义的问题: 在cpp引用库的头文件中,加入extern "C" 声明即可 如 extern "C" { #include "xxxxx.h" }

ld链接动态库静态库问题

在使用redis写C代码的时候遇到的问题,安装redis时 make install可以看到: mkdir -p/usr/local/include/hiredis /usr/local/lib cp -a hiredis.h async.h read.h sds.h adapters/usr/local/include/hiredis cp -...

解析静态库(Lib)文件,提取出所有函数信息,组织成自定义格式文件

标准:《Microsoft可移植可执行文件和通用目标文件格式文件规范》,简称《PE COFF文件规范》 注意:这里的LIB指的是静态库,要和编写DLL所生成的lib区别开来 《PE COFF文件规范》 中称静态库格式为: 档案...

Linux-动态链接与静态链接对比(动态库和静态库

一、库的基础概念: 在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。...按照库的使用方式又可分为动态库和静态库,在不同平台下...

深析静态链接库和动态链接库相同函数覆盖及调用顺序问题

最近一个项目遇到的一个问题,MongoDB和自家中的md5函数出现冲突, 而且报的是莫名错误,经过仔细debug终于找到md5中的md5_finish覆盖出现的问题,今天抽了点时间写了些小程序测试了下 注意:编译器为gcc,若使用...

ELF文件格式与动态链接/静态链接与动态库/静态库 (Linux下 可执行文件的格式)

  在Linux下,可执行文件/动态库文件/目标文件(可重定向文件)都是同一种文件格式,我们把它称之为ELF文件格式。   虽然它们三个都是ELF文件格式但都各有不同:   可执行文件没有section header table 。 ...

解决静态库文件导入 找不到问题

记录一下:在导入libBPush.a文件时候,对照的官方的demon都正常的操作,报错类似于 Undefined symbols for architecture armv7:  "XXXXXXXXXX", referenced from:  NormalizeDir(std::string&) in ...

静态库的符号解析和重定义处理策略

将多个普通目标文件打包成为一个单独的文件,称为静态库静态库是为了解决以下问题而出现的: (1)C用户需要使用大量的C函数库 把所有的代码放在一个.c文件中,然后产品代码一起编译链接,虽然可以解决这个...

如何解决C程序中不同静态库之间的符号冲突问题

之前在将helix player移植到ios平台时遇到过这个问题,现在整理一下,给自己做个总结,也希望能对别人有所帮助。 问题的描述:  如果helix在ffmpeg之前是一个小有名气的开源的播放引擎,由Realnetworks维护,像...

静态库与动态库全局变量及函数深入了解

静态库全局变量与动态库全局变量重名编译不会出错,先链接谁,谁优先.如果多个静态库全局变量重名,编译出错. 四,动态库变量被多个进程使用会出现重入问题?不会. 当so被load的时候,会把s...

静态库导出函数、导出类

静态库是静态的全局的 类只能有静态方法有效 动态库中dll类和全局方法是全局的 类中的方法非静态的要生成对象才能访问 1、静态链接库 新建“win32项目”,在“应用程序设置”中选择lib。新建lib.h和lib.cpp两个文件...

Lib详解--如何判断lib文件静态库还是导入库。vs高版本链接低版本的库问题

此功能可以帮助查看lib文件是静调库还是dll的导入库Microsoft 管理器 (LIB.exe) 创建和管理通用对象文件格式 (COFF) 对象文件库。 LIB 还可用于创建导出文件和引用导出定义的导入。说明您只能从 Visual Studio ...

头文件与库文件、静态链接与动态链接静态库与动态库(共享库)

头文件:作为一种包含功能函数、数据接口声明的载体文件,主要用于保存函数的声明。C++标准头文件,不同的编译器默认路径不相同。 Vc6.0:一般在安装目录下的\VC98\INCLUDE目录, 比如C:\Program Files (x86)\...

静态库符号文件冲突的解决办法,已实践OK, mark

http://www.cnblogs.com/huizhang212/p/lipolib.html

静态库的导出函数查看

对于dll我们知道使用的是: dumpbin -exports ***.dll来查看dll导出了哪些函数。 ...在导出的文件中,我们知道,如果你是一个静态库的话,那么你必须使用第二条语句才能得到正确的导出的函数

动态链接库,静态链接库和可执行文件的区别是什么?

动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。  动态链接是相对于...

nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库...

本文是转载,原文是:... 一、基本概念 1.1、什么是  在 windows 平台和 linux 平台下都大量存在着。 ... 本质上来说是一种可执行的二进制代码(但不可以独立执行),可以被操作系

动态库链接boost静态库

为了避免项目布署麻烦,需要将执行文件尽量静态链接 1. boost库全部静态链接 2. c++库静态链接 1,2点的改变如下,强制链静态库的方法为参数下为-l:libXXXX.a; 对于boost log, 需要将宏-DBOOST_LOG_DYN_LINK去掉 ...

相关热词 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# 多层文件 c# 判断文件修改时间 c#自定义控件怎么引用 c# 开发流程图 c# 子类构造 c# 编写webapi c# in sql 参数