小编tno*_*rgd的帖子

clGetPlatformIDs中的错误-1001调用!

我正在尝试使用OpenCL.我有两个NVidia显卡,我安装了"开发者驱动程序"以及来自NVidia网站的SDK.我编译了演示,但是当我跑步时

./oclDeviceQuery

我知道了:

OpenCL SW信息:

clGetPlatformIDs中的错误-1001调用!!!

我该如何解决?这是否意味着无法检测到我的nvidia卡?我正在运行Ubuntu 10.10和X服务器与nvidia驱动程序正常工作.

我很确定这个问题与文件权限无关,因为它也不能与sudo一起使用.

nvidia opencl

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

如何将用户定义的bash函数与管道连接起来

从一段时间以来我真的很喜欢bash功能.让我们考虑从文件的第n列计算平均值的那个:

avg () { awk -v c="$2" '{n+=$c;m++} END{print n/m,m}' < "$1"; }
Run Code Online (Sandbox Code Playgroud)

有可能以从管道中读取数据的方式重写它吗?即使用以下功能:

cat data.txt | avg
Run Code Online (Sandbox Code Playgroud)

bash pipe

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

流上的C++正则表达式

我有一个非常大的文本文件(最多几百MB),我想用STL正则表达式处理.我正在寻找的匹配区域跨越几行,并在文件中至少发生几千次.

我可以为此目的使用流迭代器吗?我试过std :: istream_iterator,但没有运气.可以发布一个最小的工作示例吗?

请注意,我正在寻找仅涉及STL的解决方案.在完美的解决方案中,我想迭代所有比赛.

编辑

一旦我阅读了评论,我就明白这是不可能的.所以也许有另一种方法来迭代在大文本文件中找到的正则表达式匹配:

#include <regex>
#include <iostream>
#include <string>

const std::string s = R"(Quick brown fox
jumps over
several lines)"; // At least 200MB of multiline text here

int main(int argc,char* argv[]) {

    std::regex find_jumping_fox("(Quick(?:.|\\n)+?jump\\S*?)");
    auto it = std::sregex_iterator(s.begin(), s.end(),        find_jumping_fox);

    for (std::sregex_iterator i = it; i != std::sregex_iterator(); ++i) {
        std::smatch match = *i;                                                 
        std::string match_str = match.str(); 
        std::cout << match_str << '\n';
    }  
}
Run Code Online (Sandbox Code Playgroud)

regex iterator c++11

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

使用cmake编译组

我有一个项目,其中编译产生许多可执行文件.我使用cmake生成Makefile.然后当我说make,所有这些都被编译.我知道我可能会make target1用来编译一个理想的目标.但是我想将我的所有目标分成小组并且能够使用,比如make group_A编译目标的子集.怎么做到这一点?

该项目是用C++编写的,并在Linux和OSX下开发.

c++ cmake

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

为doxygen html docs页面制作稳定的名称

我需要参考Doxygen文档页面.但是文件名不稳定,因为它们在每一代后都会发生变化.我的想法是为Doxygen创建的每个HTML文件创建一个符号链接,具有稳定且人性化的名称.有人试过吗?

实际上,解析Doxygen生成的annotated.html文件可能非常简单.任何记录的类都显示为如下行:

`<tr><td class="indexkey"><a class="el" href="dd/de6/a00548.html">
ImportantClass</a></td>`
Run Code Online (Sandbox Code Playgroud)

对我来说,最难的问题是我想在我的服务器上看到我的文件名(即符号链接),如:http: //www.package.com/com.package.my.ImportantClass.html

[是的,代码在java中].所以问题实际上是:"如何通过Doxygen将HTML页面与正确的java类名称及其包名称连接起来.

doxygen

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

如何计算相同的字节数

我有两个长字节数组,我需要计算相应位置上的字节数是否相同.我的解决方案(在JAVA中)如下:

    int sum = 0;
    for(int i = 0;i < t.length;i++)
      if (t[i] == spb[i])
        sum++;
Run Code Online (Sandbox Code Playgroud)

由于我的程序的这部分需要相当长的时间,我想知道我是否可以更快地完成这项工作

显然,两个阵列的长度是相同的

java algorithm

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

shared_ptr-为什么会中断?

在开发树状数据结构时,我写了这样的内容:

    #include <memory>

    class Node: public std::enable_shared_from_this<Node> {
    public:

        void set_root(Node & n);
    private:
        std::shared_ptr<Node> root;
        std::shared_ptr<Node> leaf;
    };

    void Node::set_root(Node & n) {
        root = n.shared_from_this();
        n.leaf = shared_from_this();
    }

    int main() {
        Node n1, n2;
        n1.set_root(n2);
    }
Run Code Online (Sandbox Code Playgroud)

代码使用clang编译,但会中断运行时间(“ libc ++ abi.dylib:以类型为std :: ____ :: bad_weak_ptr:bad_weak_ptr的未捕获异常终止)”为什么?

编辑 因此,基于答案,我想出了一个似乎可行的版本:

    #include <memory>

    class Node;
    typedef std::shared_ptr<Node> Node_SP;

    class Node: public std::enable_shared_from_this<Node> {
    public:

        void set_root(Node & n);
    private:
        std::shared_ptr<Node> root;
        std::shared_ptr<Node> leaf;
    };

    void Node::set_root(Node & n) …
Run Code Online (Sandbox Code Playgroud)

c++ shared-ptr

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

标签 统计

c++ ×2

algorithm ×1

bash ×1

c++11 ×1

cmake ×1

doxygen ×1

iterator ×1

java ×1

nvidia ×1

opencl ×1

pipe ×1

regex ×1

shared-ptr ×1