小编fdu*_*uff的帖子

快速的线程间通信机制

我需要一个快速的线程间通信机制,用于将work(void*)从TBB任务传递给正在运行/阻塞操作的多个worker.目前我正在考虑使用pipe()+ libevent.英特尔线程构建模块是否有更快,更优雅的替代方案?

c++ multithreading tbb

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

Azure DevOps 无法从其自己的存储库下载工件

我正在尝试将项目从 Azure DevOps 发布到现场服务器。该项目构建良好 - 并在我设置管道以在正确的位置寻找工件后发布良好。

然而,似乎没有任何反应,当管道尝试下载工件时,我开始收到以下错误 getBuildAPI 失败并出现错误:错误:无法获得本地发行者证书错误:无法获得本地发行者证书

在此处输入图片说明

这样看来,Azure Pipelines 似乎无法读取它自己的神器,这似乎有点可笑。

通常,此类问题的根本原因是具有欺骗性的错误消息,但我终生无法弄清楚可能会发生什么。

什么可能导致这个问题?

更新- 管道在我尝试的每十次中大约工作一次,但从来没有连续两次。

azure-devops azure-pipelines

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

如何从所选行(QTableView)获取单元格值?

我有一个QTableView,我需要从所选行的第一个单元格获取值(字符串)(可以选择行上的任何单元格).但是,只有在选择了一行时才需要此值.

我想 - 我需要得到所选行的索引,然后得到该行上第一个сell的值,但我找不到办法.

c++ qt qtableview

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

如何在不相关的类之间传递C++回调?

在非升级项目中,我有一个类,它使用基于某个用户操作的计时器(按下/释放按钮).我希望这个类是通用的,因此需要对用户定义的操作进行回调.

// TimerClass.h
typedef void (*timerCallback)(void);
...
Class TimerClass : public CButton {
public:
    void setCallbackShortTime(timerCallback clickFn) { shortCallback = clickFn;} ;
    void setCallbackLongTime(timerCallback clickFn) { longCallback = clickFn;} ;
private:
    timerCallback shortCallback, longCallback;
}


// CMyDlg.h
class CMyDlg : public CDialog
{
public:
    void openLiveViewWindow();
    void openAdminPanelWindow();
    TimerClass _buttonSettings;
}

// CMyDlg.cpp
...
_buttonSettings.setCallbackShortTime(&openLiveViewWindow);
...
Run Code Online (Sandbox Code Playgroud)

现在,从另一个类(DialogClass)我可以使用TimerClass,但我无法将函数指针传递给回调函数.这些功能不是静态的.编译器最终抱怨:

error C2276: '&' : illegal operation on bound member function expression
Run Code Online (Sandbox Code Playgroud)

对此的一些研究指出std::function()并且std::bind()我对这些并不熟悉,并且会对如何解决这个问题提出一些指示.

决议:对于任何有兴趣的人,这里是最终解决方案的砖块

// TimedButton.h
#include <functional>
// …
Run Code Online (Sandbox Code Playgroud)

c++ function-pointers visual-studio-2010

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

您如何将文件作为发行版的一部分发布回VSTS发行管理?

我正在尝试在部署过程中上载由第三方exe创建的日志文件,并将其包含在部署结果中,如果可能,请在单独的选项卡上。

我尝试使用发布工件构建任务,但仅适用于构建而不发布。

我尝试记录任务,但##vso[build.uploadlog]<local file path>似乎也适用于构建,因为它抱怨要为构建找到容器。

continuous-deployment azure-devops azure-pipelines

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

Jenkins 文本查找器插件,如何将此插件与 jenkinsfile 一起使用?

我正在尝试使用Text Finder 插件编写 jenkinsfile ,但我不知道它到底是如何工作的。

这是我的代码:

pipeline {
    agent {
        label {
            label "master"
        }            
    }
    stages {
        stage('CHECKOUT') {
            steps{
                script{
                    echo "##[1 / 4] ERROR"
                }
                publishers {
                    textFinder("*ERROR*", '', true, false, true)
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline

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

这个shell命令是什么意思"exec 3>&1 >>(logger -t"OKOK")"

我在一些源代码中找到了以下bash命令.

exec 3>&1 > >(logger -t "OKOK")
Run Code Online (Sandbox Code Playgroud)

它究竟意味着什么?

据我所知,它将这些日志重定向到syslog.

但是,是什么3>&1

我之前从未见过3的文件描述符.

linux bash

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

Jenkinsfile - 一种跳过整个管道的方法?

我使用声明性语法来开发(多分支)管道脚本,并且我正在寻找一种方法来根据某些条件跳过整个管道,而不必when在每个阶段都修改。

当前用例:我正在设置一个cron在晚上触发构建,但我只想说分支release/v1develop在晚上通过管道,而不是其他十几个分支。

triggers {
  cron('H 21 * * 1-5')
}

// SKIP PIPELINE if triggered by timer AND branch not 'release/v1' OR 'develop'

stages {
  stage('build') {
    when { ... }
  }
  stage('UT') {
    when { ... }
  }
etc...
}
Run Code Online (Sandbox Code Playgroud)

任何提示将不胜感激。

jenkins-pipeline

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

如何将auto_ptr设置为NULL

有没有办法将auto_ptr设置为NULL或等效?例如,我正在创建一个由节点对象组成的二叉树:

struct Node {
    int weight;
    char litteral;
    auto_ptr<Node> childL;
    auto_ptr<Node> childR;
    void set_node(int w, char l, auto_ptr<Node> L, auto_ptr<Node> R){
        weight = w;
        litteral = l;
        childL = L;
        childR = R;
    }
};
Run Code Online (Sandbox Code Playgroud)

对于不是父节点的节点,我计划这样做:

auto_ptr<Node> n(new Node);
(*n).set_node(i->second, i->first, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

这会引发错误.有没有办法将它设置为NULL,还是有另一种有意义的行动方案?

c++ binary-tree struct stl auto-ptr

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

如何修复keytool命令错误(Linux)?

我试图将证书导入Linux Centos服务器,但似乎该keytool命令无法正常工作,我遇到以下错误:

-bash: ./keytool: No such file or directory

知道如何keytool在linux上启用命令吗?

java linux import centos ssl-certificate

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