如果你在静态库中有从类名反射回类的代码, 如下:NSString *myClassStr = @"myClass"; Class myClazz = NSClassFromString(myClassStr); if (myClazz) { id myClassInit = [[myC...
分类:
其他好文 时间:
2015-05-27 22:49:04
阅读次数:
181
Windows7平台上有一个强大的SxsTrace工具,可以跟踪调试应用程序运行时需要的动态库的版本和路径。SxsTrace使用的方法:1、首先必须以Administrator用户身份登录,打开cmd命令行;2、也可以以其它用户登录,然后打开cmd命令行,执行:runas /user:adminis...
分类:
其他好文 时间:
2015-05-27 18:58:26
阅读次数:
149
以前在提供给客户的接口库中如果是dll,则dll中的互斥锁很容易在dllmain中初始化,但是对于lib静态库则没有想到更好的处理办法。现在才发现原来可以在lib中也可以简单直接的在main函数外初始化。大家有这方面更深一步的研究,希望能共享一下,多谢!1、vs2010下,编译为可执行程序(注意.....
分类:
其他好文 时间:
2015-05-26 15:46:27
阅读次数:
336
如果编译了多个架构的静态库,想将它们合并为一个静态库的时候,可以用如下方法合并:sudo lipo -create /libs/ffmpeg/2.6.3/arm64/lib/libavcodec.a /libs/ffmpeg/2.6.3/armv7/lib/libavcodec.a /libs/ff...
分类:
其他好文 时间:
2015-05-26 12:39:47
阅读次数:
169
前言:这是一篇总结性的文章,需要有一点C++和dll基本知识的基础,在网上查阅了很多资料感觉没有一篇详细、具体、全面的dll开发介绍,我这是根据最近项目和网上资料整理出来的,并附带实例的一个总结性的文章(由于篇幅较长故不附带源码解释)。另外,个人愚昧地认为以后C++的开发会更多地面向库的开发,所以学会库的开发必不可少。
1、 静态链接库和动态链接库
1. 静态链接库(LIB)只用在程...
分类:
编程语言 时间:
2015-05-26 09:21:01
阅读次数:
175
1、对于纯C程序调用纯C编译的动态库:可直接在纯C程序包含的头文件中修改结构体参数类型名称。编译器不会有任何警告或者错误,并且可正常调用。2、对于C++程序调用C++编译的动态库:必须C++程序和C++动态库都使用extern "C"包含,方可以任意修改结构体参数类型名称。编译器不会有任何警告或者错...
分类:
编程语言 时间:
2015-05-25 16:19:08
阅读次数:
213
背景在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用。本篇文章将引导你快速理解这个调用的过程。步骤1. 创建一个CSharpInvokeCPP的解决方案:2. 创建一个C++的动态库项目:...
分类:
编程语言 时间:
2015-05-25 06:05:59
阅读次数:
236
一、编译程序时,头文件路径搜索 本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢。在此之前,先了解一个基本概念。 头文件是一种文本文件,使用文本编辑器将代码编写好之后,以扩展名.h保存就行了。头文件中一般放一些重复使用的代...
分类:
系统相关 时间:
2015-05-24 20:19:42
阅读次数:
187
build setting里的header search paths里增加动态库头文件的搜索路径如 /usr/include/libxml2还要在other linker flags里增加 -lxml2如果某个文件是非ARC,则在build phases里的compile sources里找到对应的...
分类:
移动开发 时间:
2015-05-24 18:48:17
阅读次数:
185
在linux下面动态库的使用是非常常用的,也是非常实用的。
步骤一:
创建一个.h头文件 ,头文件中声明动态库中的函数
#ifndef _TEST_H_
#define _TEST_H_
#ifdef __cplusplus /*c c++ 混合编程*/
extern "C" {
#endif /*c c++ 混合编程*/
int...
分类:
系统相关 时间:
2015-05-24 11:40:05
阅读次数:
177