Linux下动态库生成和使用一.动态库的基本概念1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址是相对地址,不是绝对地址,其真实地址在调用动态库的程...
分类:
系统相关 时间:
2014-08-01 10:31:51
阅读次数:
226
??
1.在main方法里面直接定义一个非常大的数组的时候,可能会出现栈溢出:错误代码演示:
#include
#include
void
main()
{
int
a[1024 * 1024];
int
num = 100;
system("pause");
}
错误截图:
2.在定义数...
分类:
其他好文 时间:
2014-08-01 02:26:11
阅读次数:
456
-static 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行.-share 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
分类:
其他好文 时间:
2014-07-31 16:33:36
阅读次数:
183
在Windows平台下,发现Thrust库与运行时库msvcprt库有冲突解决方案:在VC项目属性:C/C++=>CodeGeneration=>RuntimeLibrary把Multi-threadedDLL(/MD)选项改为Multi-threaded(/MT),即使用静态库代替动态库。Debu...
分类:
其他好文 时间:
2014-07-31 09:32:35
阅读次数:
184
这几天刚换上了ubuntu ,尝试一下Qt !发现搜狗输入法 不能使用!在查阅和多次尝试后终于解决!于此分享一下!1.安装fcitx for Qt5动态库,执行如下命令:sudo apt-get installfcitx-libs-qt52.进入Qt安装目录的下面路径:{path}是Qt的安装目录c...
分类:
其他好文 时间:
2014-07-30 00:29:22
阅读次数:
379
最近研究CMake,发现CMake对于RPATH的管理也非常人性化。官方说法是当动态库的编译也和执行档在同级目录下的时候,CMake会自动给执行档加入适当的RPATH.具体可以通过readelf -d executable来查看相关的RPATH路径。所以有的时候用QMake编译之后还得手动加一把L....
分类:
其他好文 时间:
2014-07-29 13:46:08
阅读次数:
181
一、MFC概念和作用
1、全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的执行流程
MFC就是一个库(动态库,静态库)
MFC还是一个程序框架
2、为什么使用MFC
基于框架编程,提高工作效率,减少开发周期,节约开发成本。
二、几个重要的头文件
afx.h -绝...
分类:
编程语言 时间:
2014-07-29 13:10:47
阅读次数:
417
windows库程序:
静态库:
源代码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB
动态库: 函数被程序或其他动态库调用,被调用时,代码只有1份,文件后缀.DLL
静态库(C语言):
创建时,选择文本类型文件,输入Clib.c,设置输出路径 ../lib/Clib.lib
int Clib_add(int a,int b)
{
retur...
分类:
编程语言 时间:
2014-07-28 15:59:43
阅读次数:
320
这是一个经常遇到的问题,在软件开发过程中,需要将某些功能封装成一个独立的模块,这样维护升级也很方便。现在我们就要把开源日志库log4cxx封装成so动态加载库文件。
在上一篇文章《log4cxx日志库RedHat下安装》中,我们已经将log4cxx安装在home/mac/log4cxx/log4cxx下了,那么接下来的操作我们就继续在这个路径下进行。
还是先tree一下/home/mac/lo...
分类:
系统相关 时间:
2014-07-27 23:51:19
阅读次数:
421
1. 生成.so动态库示例一:SoVer = 10010110CfgVer = 10010110BinName = fnights.soGameName = "\"fnights\""GameID = 100BIN = $(BinName).$(SoVer)all: clean compilerel...
分类:
其他好文 时间:
2014-07-24 21:34:52
阅读次数:
297