1.MFC下生成动态库1>显式调用在.cpp文件里添加接口函数1 int sum(int a,int b)2 {3 return a + b;4 }5 6 int sub(int a,int b)7 {8 return a - b;9 }在.def文件里标示导出接口1 sum @1;...
简介:
动态库(DLL)从开始就作为windows平台的组成部分而存在。它以独立的模块把c函数封装起来供其他用户使用 。DLL从开始就是以封装C语言的形式而存在,当然现在你也可以封装其他语言,比如c++,而如果要实现跨平台使用DLL,则我们必须回归到C语言。
利用C语言接口并不意味着我们必须丢弃掉面向对象方法。C语言可以实现应用二进制接口(ABI),这样使调用者和被调用着可以遵从统一的标准,但...
分类:
编程语言 时间:
2014-08-01 19:54:22
阅读次数:
459
原文地址:http://www.dutor.net/index.php/2009/05/g-compiler-usage/C++中的一些文件后缀.a静态库 (archive).C.c.cc.cp.cpp.cxxC++源代码(需要编译预处理).hC或者C++源代码头文件.iiC++源代码(不需编译预处...
分类:
其他好文 时间:
2014-08-01 15:52:41
阅读次数:
193
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
Linux下静态库生成和使用一.静态库概念1.库是预编译的目标文件(objectfiles)的集合,它们可以被链接进程序。静态库以后缀为”.a”的特殊的存档(archivefile)存储。2.标准系统库可在目录/usr/lib与/lib中找到。比如,在类Unix系统中C语言的数序库一般存储为文件/u...
分类:
系统相关 时间:
2014-07-31 19:33:27
阅读次数:
264
-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
最近的工作需要将工程打包成静态库文件,然后提供给别人使用。在工程中有引用MBProgressHUD,在打包出静态库文件后,写了个Demo,引用了其中的一段代码来显示MBProgressHUD,在iOS 6的设备上跑时却崩溃了,错误提示为:“-[__NSCFString sizeWithAttributes:]: unrecognized selector sent to XXXXXX”...
分类:
其他好文 时间:
2014-07-30 23:56:25
阅读次数:
276
在工程中创建静态库文件时,默认会将一些Symbols加到静态库文件中,这样做有两个缺点。要去掉Symbols,首先打开Build Settings,然后设置指定选项。...
分类:
移动开发 时间:
2014-07-30 23:55:25
阅读次数:
230