标签: libraries

替换PHP的__autoload函数?

我已经阅读过关于在需要时动态加载类文件的内容,如下所示:

function __autoload($className)
{
   include("classes/$className.class.php");
}

$obj = new DB();
Run Code Online (Sandbox Code Playgroud)

DB.class.php当你创建该类的新实例时会自动加载,但我也读过几篇文章说使用它是不好的,因为它是一个全局函数,你带入项目的任何库都有一个__autoload()函数会弄乱它起来.

那么有人知道解决方案吗?也许另一种方式可以达到同样的效果__autoload()?在我找到合适的解决方案之前,我将继续使用,__autoload()因为它不会开始成为一个问题,直到您引入库等.

谢谢.

php class autoload libraries

7
推荐指数
2
解决办法
3353
查看次数

使用第三方java库,如com.jcraft.jsch,使用clojure

我正在尝试使用clojure,并尝试使用第三方库.我已经能够下载一些源代码,将它捆绑到一个带有leiningen的jar文件中,将它放在我的类路径中并在我的脚本中使用"lib.etc".我也玩过java.lang.*中的对象.

不过,我对第三方java没有任何成功.

$ java -cp clojure.jar:clojure-contrib.jar:com.jcraft.jsch_0.1.31.jar clojure.main
Clojure 1.1.0
user=> (require 'com.jcraft.jsch)
java.io.FileNotFoundException: Could not locate com/jcraft/jsch__init.class or com/jcraft/jsch.clj on classpath:  (NO_SOURCE_FILE:0)

$ jar tf com.jcraft.jsch_0.1.31.jar | egrep "(init|clj)"
$
Run Code Online (Sandbox Code Playgroud)

看起来必须创建__init.class或.clj文件.这是真的,还是有一些替代方法可以加载纯java类?

java clojure jsch libraries

7
推荐指数
1
解决办法
1196
查看次数

如何使用java将PDF文件转换为PPT文件?

我想将pdf文件转换为java中的ppt文件.

是否有任何第三方库,我该如何使用它?

java libraries

7
推荐指数
1
解决办法
2113
查看次数

将类作为方法集合而没有属性是否可以?

我正在编写一堆通用但相关的函数供不同的对象使用.我想对这些函数进行分组,但我不确定是否应该将它们放在一个类或简单的平面库文件中.

像类一样对待它们似乎并不正确,因为没有一种对象可以使用它们,并且包含所有这些函数的类可能不一定具有任何属性.

将它们视为平面库文件似乎过于简单,因为缺少更好的单词.

这是什么最好的做法?

php oop namespaces code-organization libraries

7
推荐指数
1
解决办法
247
查看次数

如何提取包含重复对象文件的静态库?

我正在尝试构建一个合并两个静态库的大型静态库.我正在使用'ar'命令,例如,从'aa'和'ba'中提取对象,然后再次使用'ar'重新组合这些对象:

$ ar x a.a
$ ar x b.a
$ ar r merged.a *.o
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不能用于我的目的,因为aa具有相同名称的不同对象.'ar'命令用于提取重复的对象,并用相同的名称替换已经提取的对象.即使具有相同的名称,这些对象也有不同的符号,因此我得到了未定义的引用,因为某些符号与被替换的文件一起被遗漏.

我无法访问原始对象,并且已经尝试了'ar xP'和'ar xv'以及许多'ar stuff'.有没有人可以帮我展示如何合并这些库?

提前致谢.

linux static-libraries unix-ar libraries

7
推荐指数
1
解决办法
7973
查看次数

什么文本语音和语音识别库可用于Clojure?

什么文本语音和语音识别库可用于Clojure?到目前为止我发现了

https://github.com/klutometis/speech-recognition

https://github.com/klutometis/speech-synthesis

这两者都使用谷歌,因此依赖于网络.

我正在寻找那些不依赖互联网工作的人

speech-recognition clojure text-to-speech speech-synthesis libraries

7
推荐指数
1
解决办法
1772
查看次数

在Mac上删除Qt库

我想删除已安装的Qt 4.8库并在我的mac上安装Qt 4.6库.

但是当我尝试安装它们时,我得到:

"无法在此磁盘上安装Qt库.此磁盘上已存在此软件的较新版本"

/usr/local/Qt4.8.x从磁盘中删除了该文件夹,但该消息仍在此处.

如何删除旧库?

macos uninstall qt4 libraries

7
推荐指数
1
解决办法
7421
查看次数

适用于iOS的简化加密库

我已经使用Java加密多年了.现在,我们需要编写一个iOS应用程序,它将加密的有效负载从移动设备发送到Java服务.我已经开始使用iOS加密支持(CommonCrypto等)并且发现它有点困难.JCE有一个非常简洁,简洁的API,所以我显然已经被宠坏了.相比之下,iOS加密技术是一个更难以使用的API.

是否有任何简化的加密库或CommonCrypto包装器提供更简洁的API?特别是,我们需要:

  • 密钥生成(对称和非对称)
  • 数据的加密/解密
  • 数字签名(例如SHA1withRSA)
  • 哈希
  • RSA,3DES和AES支持

我知道我已经看过一个或两个包含AES加密的示例类.我正在寻找更丰富,更全功能的东西.有人有什么建议吗?

security cryptography libraries ios

7
推荐指数
1
解决办法
2722
查看次数

F#Tuple Constant永远不会初始化

我已经宣布了这样一个元组:

module MyModule =
  let private INVALID_TUPLE = ("0", DateTime.MinValue)
Run Code Online (Sandbox Code Playgroud)

当我在模块中引用它时,它总是为null:

let private invalidForNone someOtherTuple =
  match someOtherTuple with
  | None -> INVALID_TUPLE  // it's null
  | Some(t) -> t
Run Code Online (Sandbox Code Playgroud)

此外,当我在元组声明上放置一个断点时,它永远不会命中.

如果我在脚本(fsx)文件中执行完全相同的操作,启动调试,执行,元组声明命中的断点以及对元组的引用是好的.

ILSpy for my module显示生成了一些启动代码,其中包含一个创建INVALID_TUPLE的Main方法.显然,这不是出于某种原因运行?

这是一个重现行为的示例(现在我意识到它与MSTest执行代码的方式有关).从C#单元测试中调用它; 结果将为null.实际上,F#代码中的断点根本不会执行.

module NullTupleTest
open System

let private INVALID_TUPLE = ("invalid", DateTime.MinValue)

let private TupleTest someTuple =
  match someTuple with
  | None -> INVALID_TUPLE
  | Some(dt) -> dt

let Main = TupleTest None
Run Code Online (Sandbox Code Playgroud)

f# program-entry-point tuples libraries

7
推荐指数
1
解决办法
94
查看次数

麻烦使用CMake链接到Windows上的静态库

LS,

我正在尝试建立一个静态和动态库,该库可用于动态和静态链接。我希望该库能够在尽可能多的平台上运行,无论使用哪种编译器。为了构建库和一些测试程序,我使用CMake在Linux和Windows上分别使用g ++和MSVC ++来构建库eeg。

在Linux上,动态库和静态库似乎都可以像我所怀疑的那样工作;在Windows上,.dll似乎可以完美链接,并且我的测试程序可以运行。但是,使用静态库的程序会抱怨链接错误。我真的很想念我做错了什么,这可能在我的CMakeLists.txt中,也可能在我的库的设置中。下面,我做了一个最小的程序,该程序使用我的库来演示我遇到的问题。该库包含两个C ++文件,一个用于导出C ++文件中的代码的C API,一个使用C API的C ++程序以及一个最终的CMakeList.txt,它可以构建除使用静态库的程序之外的所有程序。这一切都产生了一个奇妙的“你好,世界!”。

我知道我展示了很多代码,但是至少这是一个最小的项目,它演示了我链接到静态库的问题。我希望有人足够友善地看一下这个项目,并向我解释我做错了什么。

亲切的问候,

Hetepeperfan

C ++文件PriCpp.cpp

#include "PriCpp.h"

using namespace std;
string PriMessageBuilder::message() const {
    return "Hello, World!";
}
Run Code Online (Sandbox Code Playgroud)

头文件PriCpp.h

#ifndef PRICPP_H
#define PRICPP_H

#include <string>

class PriMessageBuilder{
public:
    std::string message() const;
};

#endif
Run Code Online (Sandbox Code Playgroud)

C API是:mycapi.h

#ifndef MYCAPI_H
#define MYCAPI_H
#include "builder_export.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {} message_builder;

BUILDER_EXPORT message_builder* message_builder_new();
BUILDER_EXPORT void             message_builder_destroy(
                                        message_builder* builder
                                        );
BUILDER_EXPORT char*            message_builder_message(
                                        message_builder* builder
                                        );
#ifdef __cplusplus
}
#endif …
Run Code Online (Sandbox Code Playgroud)

c c++ cmake static-libraries libraries

6
推荐指数
1
解决办法
3034
查看次数