小编kur*_*urt的帖子

eal_memory.c:56:18:致命错误:numa.h:没有这样的文件或目录

当我make从DPDK 的快速启动指令执行时,我收到以下错误:

eal_memory.c:56:18: fatal error: numa.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

即使已经安装了libnuma,错误也会出现:

>sudo yum install numactl-libs.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo: mirrors.tuna.tsinghua.edu.cn
Package numactl-libs-2.0.9-6.el7_2.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)

我正在使用CenOS Linux 7.3.1611版(核心版).

我该如何解决这个问题?

dpdk centos7

6
推荐指数
2
解决办法
7985
查看次数

将 cmake 用于 googletest 时对“pthread_getspecific”的未定义引用

我正在关注这本书

我安装了 GoogleTest 并构建了库:

kuyu@ub16:~/Downloads/googletest-master$ find . -name *.a
./mybuild/googlemock/libgmock_main.a
./mybuild/googlemock/gtest/libgtest_main.a
./mybuild/googlemock/gtest/libgtest.a
./mybuild/googlemock/libgmock.a
Run Code Online (Sandbox Code Playgroud)

我有一个 CMakeLists.txt 文件:

kuyu@ub16:~/Downloads/lotdd-code/c2/2$ echo $GMOCK_HOME 
/home/kuyu/Downloads/googletest-master
kuyu@ub16:~/Downloads/lotdd-code/c2/2$ cat CMakeLists.txt
project(chapterFirstExample)
cmake_minimum_required(VERSION 2.6)

include_directories($ENV{GMOCK_HOME}/googlemock/include $ENV{GMOCK_HOME}/googletest/include)
link_directories($ENV{GMOCK_HOME}/mybuild/googlemock $ENV{GMOCK_HOME}/mybuild/googlemock/gtest)
add_definitions(-std=c++0x)
set(CMAKE_CXX_FLAGS "${CMAXE_CXX_FLAGS} -Wall")

set(sources 
   main.cpp 
   SoundexTest.cpp)
add_executable(test ${sources})
target_link_libraries(test pthread)
target_link_libraries(test gmock)
target_link_libraries(test gtest)
Run Code Online (Sandbox Code Playgroud)

然后我尝试构建我的源文件:

kuyu@ub16:~/Downloads/lotdd-code/c2/2$ mkdir build && cd build
kuyu@ub16:~/Downloads/lotdd-code/c2/2/build$ cmake ..
# output omitted for brevity...
kuyu@ub16:~/Downloads/lotdd-code/c2/2/build$ make
Scanning dependencies of target test
[ 33%] Building CXX object CMakeFiles/test.dir/main.cpp.o
[ 66%] Building CXX object …
Run Code Online (Sandbox Code Playgroud)

c++ cmake googletest

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

go中如何对时间对象进行“大于或等于”运算?

我如何在go中写这样的东西?

if time.Now() >= expiry {
}
Run Code Online (Sandbox Code Playgroud)

如果我使用,那么它实际上并不是我正在寻找的time.Now().After(expiry)大于或等于 ( ) 逻辑。>=如果我使用time.Now().After(expiry) || time.Now() == expiry,那么表达式看起来很长。有没有“正确”的方法来做到这一点?

datetime go

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

获得工会成员的数量

有没有办法在C++中获得union的成员数量?例如:

union U
{
    int a;
    double b;
    char c;
};

int main()
{
    std::cout << std::union_members_count<U>::value << std::endl;  // prints 3
}
Run Code Online (Sandbox Code Playgroud)

当然,std::union_members_count<>是虚构的.

如果有办法,我该如何实施/使用它?

c++

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

访问说明符和性能

可以更改类成员的访问说明符(例如从私有到受保护)会影响类的性能(执行速度)吗?如果是这样,请解释如何?

c++

2
推荐指数
1
解决办法
68
查看次数

C++中的短路评估和分配

在C++中可能是这样的:

if (int* x = (foo() || bar()))
{
    // do something with x
}
else
{
    // do something else if both foo() and bar() return nullptr
}
Run Code Online (Sandbox Code Playgroud)

我知道代码不会编译(不能将bool转换为int*),但是有没有一个有效的等效"快捷"代码才能做到这种快捷方式?基本上,我想要的是如果foo()没有返回空指针,则将foo()的返回值赋给x.如果foo()产生一个空指针,则将bar()的返回值赋给x.

假设foo()和bar()是昂贵的计算,因此需要最小化对它们的调用次数.如果foo()没有产生空指针,那么理想情况下,不需要调用bar().

c++

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

如何在lua中实现包含保护以防止lua多次加载同一文件?

您如何在Lua中实现包含卫队?因为当两个文件require相同的lua文件时,有时效果是出乎意料的。所以我想lua只处理一次文件。

lua

0
推荐指数
1
解决办法
56
查看次数

标签 统计

c++ ×4

centos7 ×1

cmake ×1

datetime ×1

dpdk ×1

go ×1

googletest ×1

lua ×1