我有一个简单的问题.
当我们创建一个文件时,让我们说"abc.txt"并将其留空.
操作系统将显示该文件大小为0字节,并在磁盘上占用0个字节.
如果我们将这些0字节文件中的100个保存到文件夹中,操作系统也会说该文件夹的总大小为0字节.
这可能听起来合乎逻辑,因为文件中没有任何内容.但是这些文件不应该至少占用存储设备中的几个字节吗?
毕竟,我们将它保存在某处,并将其命名为某种东西.不应该文件的名称和可能的其他标题至少占用一些空间吗?
我完全是多核编程的新手,但我知道如何编写C++.
现在,我正在寻找多核编程库.我只想尝试一下,只是为了好玩,现在,我找到了3个API,但我不确定应该坚持哪一个.现在,我看到了Boost的MPI,OpenMP和TBB.
对于任何经历过这3个API(或任何其他API)中的任何一个的人,您能否告诉我这些之间的区别?是否有任何因素需要考虑,如AMD或英特尔架构?
我正在开发VS C++ 2008中的程序.
现在,我有一个dll和lib依赖项的巨大列表,我正在添加更多.我担心当我需要通过从源代码构建来更新依赖项时(我必须在正确的位置手动替换已构建的dll和库),如果我意外忘记替换某些东西,反之亦然,我可能会遇到编译和/或运行时问题.找出哪个地方出错可能有点困难.
那么是否有某种程序或方法可以适应这项任务,以简化构建具有许多更新依赖性的程序?
dependencies dependency-management visual-studio-2008 visual-c++ refix
我在Matlab做vlfeat,我在这里关注这个问题.
以下是我的简单测试图像:
左图:

正确的图像:
我在这里用2个简单的图像做了一个简单的测试(右图像只是左边的旋转版本),我得到了相应的结果:

它有效,但我还有一个要求,即匹配两个图像的SIFT点并显示它们,如下所示:

我确实理解vl_ubcmatch返回2个匹配索引数组,并且映射它们不是一个问题,哪个点到达两个图像上的哪个点.但是,我目前陷入了matlab的程序.我找到了这个.但这只有在子图保持这种情况下才有效.将图像添加到子图中时,大小会更改,并且标准化失败.
这是我的代码:(im和im2是图像.f,d和f2,d2分别是来自vl_sift函数的帧和描述符,来自2个图像)
[matches score] = vl_ubcmatch(d,d2,threshold);%threshold originally is 1.5
if (mode >= 2)%verbose 2
subplot(211);
imshow(uint8(im));
hold on;
plot(f(1,matches(1,:)),f(2,matches(1,:)),'b*');
subplot(212);
imshow(uint8(im2));
hold on;
plot(f2(1,matches(2,:)),f2(2,matches(2,:)),'g*');
end
if (mode >= 3)%verbose 3
[xa1 ya1] = ds2nfu( f(1,matches(1,:)), f(2,matches(1,:)));
[xa2 ya2] = ds2nfu( f2(1,matches(2,:)), f2(2,matches(2,:)));
for k=1:numel(matches(1,:))
xxa1 = xa1(1, k);
yya1 = ya1(1, k);
xxa2 = xa2(1, k);
yya2 = ya2(1, k);
annotation('line',[xxa1 xxa2],[yya1 yya2],'color','r');
end
end
Run Code Online (Sandbox Code Playgroud)
上面的代码产生了这个:

我认为subplot不是一个很好的方法来做这样的事情.在Matlab中有更好的方法吗?如果可能的话,我想要一个类似于空面板的东西,我可以绘制我的图像,自由地绘制线条和自由缩放,就像以OpenGL风格绘制2D游戏一样.
我正在使用Matlab在C++中调用一些外部调用,然后接收一个巨大的计算矩阵.矩阵非常庞大,我无法访问这个C++程序的源代码.(如果有的话,我会马上从C++中保存)
现在,在我的系统上,这个C++程序只使用1秒来计算给定的数据并发送回Matlab,Matlab的dlmwrite需要200-300秒才能将这个巨大的阵列保存在磁盘上.我有更多的计算,我想减少时间.
那么在Matlab中保存的最快方法是什么?
对不起,如果问题太笼统,但我的意思是这个; 在OpenGL中,在执行缓冲区交换以使缓冲区在屏幕上可见之前,应该有一些函数调用来执行一些图像处理.我的意思是,像模糊屏幕,扭曲屏幕的一部分等,或执行一些有趣的"修饰",如绽放等.
如果我想做我上面说过的话,我应该寻找的OpenGL的关键字和功能集是什么?
我正在尝试谷歌我在标题中提到的,但不知怎的,我找不到它.这不应该那么难,不是吗?
我正在寻找的是一种在iPhone上访问OpenGL ES纹理的方法,以及一种获取/设置像素的方法.我正在寻找什么样的OpenGL ES功能?
我需要在OpenGL ES中显示480 x 320背景图像.事情是,当我使用512 x 512纹理大小时,我在iPhone中经历了一点慢.所以我找到了在OpenGL ES中渲染iPhone分辨率大小背景的最佳案例.在这种情况下,我应该如何切片背景以获得最佳性能?我主要担心的是速度.我应该在这里使用256 x 256或其他纹理尺寸吗?
我正在编写一个程序来列出Windows上目录中的所有文件.我只是使用提供的文件管理功能,但我对结果感到好奇:
Target file is *.*
The first file found is .
The next file found is ..
The next file found is file0
The next file found is file1
...
...
The next file found is fileN
Run Code Online (Sandbox Code Playgroud)
从技术上讲,这些"是什么".和".."?我记得我在cmd中使用"cd .."退出到上一级目录.对于"cd.",我不知道它是什么.
我试图运行一个依赖于其他模块的python脚本,但我遇到了这个:
bash-3.2$ PYTHONPATH=/my/path/tables-2.3.1/build/lib.linux-x86_64-2.7/ ./fastcluster.py
Traceback (most recent call last):
File "./fastcluster.py", line 5, in <module>
import tables
File "/my/path/tables-2.3.1/build/lib.linux-x86_64-2.7/tables/__init__.py", line 59, in <module>
from tables.utilsExtension import getPyTablesVersion, getHDF5Version
ImportError: libhdf5.so.7: cannot open shared object file: No such file or directory
bash-3.2$ ls libhdf5.so.7
libhdf5.so.7
bash-3.2$
Run Code Online (Sandbox Code Playgroud)
没有这样的文件或目录libhdf5.so.7?但是,当我'它',它就在那里,就在我的目录中.那么这里发生了什么?