我最近在ubuntu机器上安装了hdf5库,现在无法链接到导出的函数.我写了一个简单的测试脚本readHDF.cpp来解释这个问题:
#include <hdf5.h>
int main(int argc, char * argv[])
{
hid_t h5_file_id = H5Fopen(argv[1], H5F_ACC_RDWR, H5P_DEFAULT);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译命令是
g++ -Wl,-rpath,$HOME/hdf5/lib -I$HOME/hdf5/include \
-L$HOME/hdf5/lib -l:$HOME/hdf5/lib/libhdf5.so readHDF.cpp
Run Code Online (Sandbox Code Playgroud)
返回以下错误
/tmp/cc6DXdxV.o: In function `main':
readHDF.cpp:(.text+0x1f): undefined reference to `H5check_version'
readHDF.cpp:(.text+0x3c): undefined reference to `H5Fopen'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为nm命令似乎说该函数已被导出:
nm -C $HOME/hdf5/lib/libhdf5.so | grep H5check_version
Run Code Online (Sandbox Code Playgroud)
返回
0000000000034349 T H5check_version
Run Code Online (Sandbox Code Playgroud)
和类似的结果H5Fopen.什么可能出错?不确定它是否有帮助,但如果我注释掉H5Fopen脚本的部分,那么它编译得很好:
#include <hdf5.h>
int main(int argc, char * argv[])
{
hid_t …Run Code Online (Sandbox Code Playgroud) 我最近安装了cuda toolkit 5.5和驱动程序331.67(我有一个GeForce GTX 680).出于某种原因,我无法运行任何测试程序:
$./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery
./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL
Run Code Online (Sandbox Code Playgroud)
我在这里按照"入门指南"中的步骤操作
http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/
并创建了一个脚本来启动时创建字符设备文件(因为我正在运行Ubuntu的服务器版本,默认情况下不会创建这样的图形文件):
$ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195, 0 Apr 11 17:29 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Apr 11 17:29 /dev/nvidiactl
Run Code Online (Sandbox Code Playgroud)
执行命令的输出nvidia-smi -a是(对于普通用户和root用户):
Failed to initialize NVML: Unknown Error
Run Code Online (Sandbox Code Playgroud)
以下是有关nvidia模块的一些信息
$ lsmod | grep nvidia
nvidia 11335080 0
$ modinfo nvidia
filename: /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko
alias: …Run Code Online (Sandbox Code Playgroud) 我注意到numpy masked-array mean方法在它可能不应该返回时返回不同的类型:
import numpy as np
A = np.ma.masked_equal([1,1,0], value=0)
B = np.ma.masked_equal([1,1,1], value=0) # no masked values
type(A.mean())
#numpy.float64
type(B.mean())
#numpy.ma.core.MaskedArray
Run Code Online (Sandbox Code Playgroud)
其他numpy.ma.core.MaskedArray方法似乎是一致的
type( A.sum()) == type(B.sum())
# True
type( A.prod()) == type(B.prod())
# True
type( A.std()) == type(B.std())
# True
type( A.mean()) == type(B.mean())
# False
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
更新:正如评论中所指出的那样
C = np.ma.masked_array([1, 1, 1], mask=[False, False, False])
type(C.mean()) == type(A.mean())
# True
Run Code Online (Sandbox Code Playgroud) 我有两个名为company和的表customers.
在company表中有3个字段ID,Company以及Type为:
ID Company Type
1 ABC Running
2 XYZ Current
Run Code Online (Sandbox Code Playgroud)
现在再次在customers表格中我提交了公司和客户的价值,但这里公司的价值提交ID为:
Company Customer Name
1 monty
2 sandeep
Run Code Online (Sandbox Code Playgroud)
现在我想在客户表中搜索公司名称但是当我在搜索框中输入公司名称时它没有显示任何内容,因为公司名称的值在客户tabe中以ID形式显示.我可以实现它.
这是我的搜索查询:
$sql = "Select * from customers where name like '%$term%' or location like '%$term%' or company like '%$term%'";
Run Code Online (Sandbox Code Playgroud) 我有一个github repo似乎有重复的提交.每个提交都具有相同的消息字符串和相同的日期/作者,但具有不同的SHA-1哈希值.例如,在我的日志中,我发现了以下四重奏:
'commit 55e55517bf32b7ba7382b97f41a1514af8a5f5dc',
'Author: dermen <dermen@stanford.edu>',
'Date: Tue Feb 19 20:03:35 2013 -0800',
'finished with the cromermann edition',
'commit 814fb08e0d42588a500947cba42a980ac24c01b8',
'Author: dermen <dermen@stanford.edu>',
'Date: Tue Feb 19 20:03:35 2013 -0800',
'finished with the cromermann edition',
'commit a5f581f513d12e95627669f61cfe27064ffe8319',
'Author: dermen <dermen@stanford.edu>',
'Date: Tue Feb 19 20:03:35 2013 -0800',
'finished with the cromermann edition',
'commit a264614b674e1ad2c4c8cc953cb27cf77c0d2615',
'Author: dermen <dermen@stanford.edu>',
'Date: Tue Feb 19 20:03:35 2013 -0800',
'finished with the cromermann edition',
Run Code Online (Sandbox Code Playgroud)
除了SHA-1哈希之外,一切都是相同的.当我跑的例子
git diff 55e55517bf32b7ba7382b97f41a1514af8a5f5dc 814fb08e0d42588a500947cba42a980ac24c01b8
Run Code Online (Sandbox Code Playgroud)
我得到零输出 - 这并不意味着提交是相同的.如果这是真的,那么为什么他们会有单独的SHA-1哈希值?也许我误解了,但是SHA-1哈希不应该直接代表文件中的内容吗?因此,如果提交相同,那么它们应该具有相同的哈希值.
在任何情况下,我想知道尝试过滤这些明显的重复是否明智/不明智...任何提示/重定向将不胜感激.