zoukankan      html  css  js  c++  java
  • Symbian DLL,Lib(动态加载动态库,静态加载动态库,静态加载静态库)

       现在写的通用的平台,Client/Server Side 都要求插件形式,每一个插件宿主于一个动态库中,在Symbian中,动态的调用有些不是很方便,现在总结一下其各种类型库的加载形式。

    0, 静态库:

    1, 动态库:
             a,静态加载:
             b,动态加载:
    动态库动态加载的几个问题:
    1,在emulator上不能被load,原因有几个可能:
             1.1此动态库中使用了C的库(如strlen/malloc,free  etc.)并且在依赖的lib你手工加入了estlib.lib,编译成功,但无法正常load,因为Carbide.vs2.0.1在进行dll编译时,自动加入了estlib.lib,如果你再加入estlib.lib就会出现加载失败,有点弱智编译环境吧,当我使用OpenC时,也会出现这个问题。动态库必须使用CodeWarrior进行编译,才能在调试环境下进行加载,不然用carbide.vs2.01编译后,加载会返回-2错误。
            1.2但是如果你使用exe就必须在工程中加入estlib.lib.因为exe缺省没有estlib.lib包含。 
            1.3能力:动态库的操作能力必须与加载它的exe/dll能力匹配,匹配原则为。exe/dll能力一定是被它加载的dll能力的子集(?) 
           
    2,在真机上加载失败:
            2.1.没有访问目录的权限:
                 可能安装动态库的目录,加载程序没有访问权限,如sys/bin/目录,没有访问权限,或者private等目录,返回错误码一般为-46。可以为你的应用程序加入AllFiles能力
            2.2. 加载目录错误(加载返回值一般为-1)
            2.3.

  • 相关阅读:
    Codeforces 1062
    HDU 1247
    力扣 7. 整数反转
    力扣 3. 无重复字符的最长子串
    力扣1. 两数之和
    力扣 78.子集
    C++编译时报错“count”符号不明确
    Java邻接矩阵存储图简易版以及深度优先优先遍历和广度优先遍历
    word中超链接显示成{HYPERLINK "url"}形式的解决方案
    Hadoop在window上运行出现:java.io.IOException: (null) entry in command string: null chmod 0644
  • 原文地址:https://www.cnblogs.com/windwithlife/p/845910.html
Copyright © 2011-2022 走看看