有一台笔记本电脑,我没有root权限.
在机器上我安装了一个库configure --prefix=$HOME/.usr.
之后,我收到了以下文件~/.usr/lib:
libXX.so.16.0.0
libXX.so.16
libXX.so
libXX.la
libXX.a
Run Code Online (Sandbox Code Playgroud)
当我编译一个程序,该程序使用此命令调用库提供的函数之一:
gcc XXX.c -o xxx.out -L$HOME/.usr/lib -lXX
xxx.out是在没有警告的情况下生成的,但是当我运行它时会抛出这样的错误:
./xxx.out: error while loading shared libraries: libXX.so.16: cannot open shared object file: No such file or directory,虽然libXX.so.16住在那里.
我的无线假设是~/.usr/lib在调用xxx.out时未搜索到的.但是我可以做些什么来指定.so的路径,以便xxx.out可以查找.so文件?
另外一个是当我-static向gcc提供时,另一个错误发生如下:
undefined reference to `function_proviced_by_the_very_librar'
Run Code Online (Sandbox Code Playgroud)
.so即使-L并且-l给予gcc 似乎也无所谓.我该怎么做才能用该库构建一个可用的exe?
它引入了静态/共享/动态加载库,以及一些使用它们的示例代码.
Ruby有Expect等效的宝石吗?
我尝试在code.google和rubygems.org上搜索,但遗憾的是它没有显示出来.
仅供参考:Expect是一个Unix自动化和测试工具,由Don Libes编写,作为Tcl脚本语言的扩展,用于交互式应用程序,如telnet,ftp,passwd,fsck,rlogin,tip,ssh等.
假设我有从A类派生的B类
是否有可能像这样调用A的覆盖方法?
class A
def method1
end
def method2
end
end
class B < A
def method1
### invoke method2 of class A is what I want to do here
end
def method2
end
end
Run Code Online (Sandbox Code Playgroud)
#不完全重复如何从子类调用重写的父类方法? ,但我们似乎想要做同样的事情.
由于最近的 SHA1 冲突新闻,我想确保在我的 apk 签名中不再使用 SHA1。但是我在apksigner 中找不到参数。
有没有办法指定(直接或间接)apksigner 使用的摘要算法?
(在 SDK 24 之前,Android 使用 javajarsigner来签署 apk,其中有类似的选项-sigalg SHA1withRSA -digestalg SHA1)
更新:正如亚历克斯提到的,我apksigner在V1SchemeSigner.java 中找到了如何确定方案 v1 的签名算法。
简而言之,apksigner从minimumSDK证书和密钥类型来确定它。
SHA256withRSA 最低 SDK 18 (Android 4.3) 及以上SHA256withDSA 最低 SDK 21 (Android 5.0) 及以上SHA256withEC 最低 SDK 18 及以上SHA1with* 用于较低的最低 SDK 级别这是我为备忘而写的常见问题解答:SHA1 Collision and Android APK Signing。
在Ruby中,这样的代码是合法的:
class Aclass
m = 1
end
Run Code Online (Sandbox Code Playgroud)
但从语义上讲,将会m是什么,以及如何访问它?
我今天看到了一段代码
#! cruby 1.9
lam = lambda do |(a,b),c|
#blahblah
end
Run Code Online (Sandbox Code Playgroud)
它似乎等于
lam = lambda do |l,c|
a,b = *l
#blahblah
end
Run Code Online (Sandbox Code Playgroud)
这种语法有'正式名称'吗?