小编Mik*_*ail的帖子

在Ubuntu上为mpi.h设置G ++或ICC

我从未在VS08之外做过任何重大编程.

我正在尝试使用两个相关的make文件中的任何一个编译一个名为LAMMPS的程序.一个调用g ++,另一个调用icc(英特尔的编译器).

icc产生此错误:

icc -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M write_restart.cpp> write_restart.d write_restart.cpp(15):灾难性错误:无法打开源文件"mpi.h"#include"mpi.h"

和g ++抛出此错误

g ++ -g -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M verlet.cpp> verlet.d pointers.h:25:致命错误:mpi.h:没有终止此类文件或目录编译.

mpi.h文件位于/ usr/lib/openmpi/include中

我的理解是我需要设置读取的$ PATH变量

bash:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/X11R6/bin:/ opt/intel/bin:/ usr/lib /了openmpi /包括:

和当前读取的$ LD_LIBRARY_PATH

/ usr/lib中/的openmpi/lib目录下:

那么,如何包含mpi.h文件?那么icc还是g ++找到它?

linux g++ icc include-path ubuntu-10.10

5
推荐指数
2
解决办法
2万
查看次数

tlb文件是否具有关联的体系结构?

我有一个32位DLL,旨在通过com模型和关联的tlb文件进行访问。

DLL似乎是x86。

有什么办法可以从x64程序访问这种DLL?TLB文件x86 / x64是否不可知?

我问是因为某些功能似乎起作用,其他功能崩溃了,还没有??是??失踪??c?o?m?p?a?r?e?d??至??t?h?e??。?净??a?s?s?e?m?b?l?i?e?s?。

- 编辑 -

由于OEM方面的错误而出现缺少的程序集。

c++ windows com 32bit-64bit

5
推荐指数
1
解决办法
1944
查看次数

为什么对 <bit> 的操作返回有符号数?

类似的操作

template< class T >
constexpr int popcount( T x ) noexcept;
Run Code Online (Sandbox Code Playgroud)

返回一个有符号整数,但设置的位数永远不能为负数?选择有符号类型而不是无符号类型的动机是什么?

c++ bit c++20

5
推荐指数
1
解决办法
161
查看次数

是否有适用于QT5的Designer OpenGL小部件?

我正在将一些代码从FLTK迁移到QT5,我似乎无法在与OpenGL上下文对应的图形设计中获得一个小部件?这样的小部件是否存在?

我从官方来源构建了QT,使用OpenGL选项定位VS2012x64,并尝试添加QT += opengl到我的project.pro文件中.

opengl qt-creator qt5

4
推荐指数
1
解决办法
5310
查看次数

Qt5中的glGenBuffers在哪里?

我似乎无法glGenBuffer在Qt5中找到该功能,我的包含列表看起来像

#include <QtOpenGL/qgl.h>
#include <QtOpenGL/qglbuffer.h>
#include <QtOpenGL/qglcolormap.h>
#include <QtOpenGL/qglframebufferobject.h>
#include <QtOpenGL/qglfunctions.h>
#include <QtOpenGL/qglpixelbuffer.h>
#include <QtOpenGL/qglshaderprogram.h>
#include <GL/GLU.h>
Run Code Online (Sandbox Code Playgroud)

我想尝试做类似下面的例子:

http://qt-project.org/doc/qt-5.0/qtopengl/cube.html

它在哪里?

opengl qt opengl-es qt5

4
推荐指数
1
解决办法
4369
查看次数

Windows如何知道我没有使用内存?

我注意到这种奇怪的效果,其中内存未被Windows任务管理器分配,直到触摸它而不是它被malloc-ed或new-ed时.效果在debug优化的release构建中发生.

以下是一个结构示例,虽然在我的代码中,分配和利用发生在不同的线程上,所以我不认为它是优化器,虽然我不知道如何检查.

for (int i = 0 ;i < 1000;i++)
{
buffer[i]=malloc(buffersize);
}
_sleep(1000*60)
for (int i=0;i<1000;i++)
{
memset(buffer[i],0,buffersize);//Only shows up the in the resource manager here
}
Run Code Online (Sandbox Code Playgroud)

我的问题是Windows如何知道我使用了内存?它是监视内存以供第一次使用还是一些编译时优化.

我的好奇心是由于我正在编写的实时采集,需要我触摸内存两次 - >一次分配时,一次实际填充数据.因此,按下一个按钮("aquire!")需要我一次写入64千兆字节的ram,而不是随着时间的推移,增加了相当多的延迟.如果我malloc去,这会增加太多的延迟.

- 编辑 -

我还禁用了Windows页面文件...

c c++ windows malloc memory-management

4
推荐指数
1
解决办法
471
查看次数

需要pow(-1,1.2)为1

我正在使用math.h与GCC和GSL.我想知道如何评估它?

我希望pow函数将pow(-1,1.2)识别为((-1)^ 6)^(1/5).但事实并非如此.

有谁知道会识别这些的c ++库吗?也许某人有他们可以分享的分解程序.

c++ math numerical-methods pow

3
推荐指数
2
解决办法
1572
查看次数

为什么Boost :: Filesystem有二进制部分?

出于好奇心,我想知道为什么boost :: filesystem库有一个编译组件,而在其他情况下,没有必要编译组件.编译部分中的什么不能在hpp中?

让我感到困惑的是,在我的计算机上,无论如何我都会编译这部分(在使用库之前),因此我希望每次构建应用程序时都可以执行我在BJam中执行的相同编译.

为什么还有额外的.so / .a文件?

boost boost-filesystem

3
推荐指数
1
解决办法
2410
查看次数

CUDA常量记忆的生命周期是多少?

我无法绕过对CUDA恒定内存的限制.

  1. 为什么我们不能__constant__在运行时分配内存?为什么我需要在具有接近全局范围的固定大小变量中进行编译?
  2. 什么是常量内存实际加载或卸载?我明白cudaMemcpytoSymbol 用于加载特定的数组,但每个内核是否都使用自己的常量内存分配?相关,是否有绑定和解除绑定的成本类似于绑定纹理的旧成本(也就是说,使用纹理为每个内核调用添加了成本)?

  3. 常量内存驻留在芯片上的哪个位置?

CUDA架构

我主要对与Pascal和Volta有关的答案感兴趣.

cuda gpu-constant-memory

3
推荐指数
1
解决办法
570
查看次数

C 是否有 [[nodiscard]] 机制来在值被忽略时发出警告?

在 C++ 中,我们可以用“[[nodiscard]]”修饰返回类型,如果结果未使用,则会触发编译器警告。

这对于强制执行错误代码特别有用

auto dont_forget_to_check = do_something_important();
assert(dont_forget_to_check);
Run Code Online (Sandbox Code Playgroud)

C 语言中存在这样的东西吗?

c

3
推荐指数
2
解决办法
285
查看次数