小编Zit*_*rax的帖子

更简单的c ++模板编译错误输出

在C++中使用模板时,任何错误都会导致编译器发出大量输出.在大多数情况下,当我处理某些信息时,大部分信息都是噪音,我必须滚动查找我感兴趣的信息,例如:

  • 列出每个候选模板.我很少使用这个长列表,它只会使输出混乱.
  • 扩展了模板特化的别名,例如std::string,写为std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >或扩展的typedef/alias声明.我更希望将它们展开以便于阅读.

是否有可能在g ++或clang中减少任何这种更短/更简单的输出?

显然,信息可能很重要,但是我宁愿再次编译更详细,默认情况下保持简短.

c++ compiler-errors g++ clang++

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

emacs中grep-find的默认字符串

我经常在emacs中使用命令grep-find来搜索我的源文件,但是它总是在临时文件和备份文件中找到匹配项等等.grep-find的默认命令是:

find . -type f -print0 | xargs -0 -e grep -nH -e
Run Code Online (Sandbox Code Playgroud)

我知道我可以在运行之前对其进行修改以满足我的需求,但是如何更改它以使其在启动时正确?

emacs grep dot-emacs

7
推荐指数
2
解决办法
4514
查看次数

控制台中的 OutputDebugString()

我正在使用使用该函数的第三方库,OutputDebugString()在阅读 MSDN 文档时,它似乎表明这是用于打印到调试器。

但这对我来说很不方便,如果没有连接调试器,有没有办法读取这个输出?

如果它是我的 LIB,我希望在用户通过--debug或类似时将输出转到 stdout/stderr ,但由于它不是我正在寻找其他方法将此信息传递到控制台(或文件)而不连接调试器。

c c++ windows debugging outputdebugstring

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

如果不存在则插入其他只需在mysql中选择

我有一个mysql表'alfa',它将在一列中包含另一个表'beta'的主键.但如果找不到'beta'中的条目,我想在'beta'中插入值并在'alfa'中使用新密钥.我能以某种方式在一个查询中执行此操作吗?

我目前有:

INSERT INTO alfa SET c1=(SELECT id FROM beta WHERE name = 'john');
Run Code Online (Sandbox Code Playgroud)

当'john'存在于表中时工作正常,但否则失败.那么我可以改进它以便插入新名称并选择它是否已经存在?id是auto_incremented.

我试图查看IF,但还没有找到如何在SELECT之外使用IF,这可能吗?

我知道我可以在几个查询中执行此操作,但我正在与远程数据库进行通信,因此可以一次性完成所有操作.

例如,可以像这样创建表:

CREATE TABLE alfa (
  c1 int,
  PRIMARY KEY (c1)
)

CREATE TABLE beta (
  id int auto_increment,
  name varchar(255),
  PRIMARY KEY (id)
)
Run Code Online (Sandbox Code Playgroud)

所以alfa.c1应该引用beta.id值.

总之,我想做:

将beta表中的john的id插入alfa中的c1,如果john在beta中不存在,则将john插入beta并将john的新自动递增id插入alfa中的c1.

mysql

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

如何在 googlemock 中创建部分(混合)模拟?

当您需要调用真实对象的功能时,Google 建议将调用委托给父对象,但这并不会真正创建部分(混合)模拟。调用真实对象时,任何方法调用都是真实对象的方法调用,而不是模拟对象,您可能已经在其上设置了操作/期望。如何创建仅将特定方法委托给真实对象的部分模拟,并将所有其他方法调用委托给模拟对象?

委托给真实对象示例

using ::testing::_;
using ::testing::AtLeast;
using ::testing::Invoke;

class MockFoo : public Foo {
 public:
  MockFoo() {
    // By default, all calls are delegated to the real object.
    ON_CALL(*this, DoThis())
        .WillByDefault(Invoke(&real_, &Foo::DoThis));
    ON_CALL(*this, DoThat(_))
        .WillByDefault(Invoke(&real_, &Foo::DoThat));
    ...
  }
  MOCK_METHOD0(DoThis, ...);
  MOCK_METHOD1(DoThat, ...);
  ...
 private:
  Foo real_;
};
...

  MockFoo mock;

  EXPECT_CALL(mock, DoThis())
      .Times(3);
  EXPECT_CALL(mock, DoThat("Hi"))
      .Times(AtLeast(1));
  ... use mock in test ...
Run Code Online (Sandbox Code Playgroud)

c++ unit-testing mocking googlemock

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

Python在没有密码的情况下请求NTLM

我正在尝试访问使用NTLM身份验证的网站.我已经成功地使用请求库和requests-ntlm检索内容.但是要使用它,我必须在代码中提供用户名和密码,或者作为用户的输入.

如果我在任何浏览器中访问同一个站点,我都不会被要求任何东西,它只是有效.如何避免使用python输入密码?

python ntlm python-requests

6
推荐指数
0
解决办法
903
查看次数

以编程方式在OSX中抓取屏幕截图

我将把一些截图抓取代码(C++)的linux移植到osx.当前的解决方案在xvfb中运行图形应用程序,然后使用xlib从显示中获取屏幕截图.(如果我们在没有xvfb的情况下运行,那也将支持).

所以我理解osx正在远离 X11,所以我的问题是除了xlib之外还要使用什么来实现呢?我找到了Quartz Display Services.现在使用是否有意义?这会与xvfb一起使用吗?

c++ macos screenshot quartz-graphics xvfb

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

如何在PyCharm中打开“未使用的进口”突出显示

我的PyCharm不会将任何导入标记为未使用。

我(os未使用):

在此处输入图片说明

应该是(在网上找到这张照片):

在此处输入图片说明

如何启用它?

pycharm

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

没有分隔符的ConfigParser

使用Python 3.5和ConfigParser。

我想使用这样的配置文件:

[Section]
key1
key2
key3
Run Code Online (Sandbox Code Playgroud)

即没有值。默认情况下,ConfigParser需要值,但是我可以将其传递allow_no_values=True给构造函数来处理。

但是,解析器仍会尝试分割默认为的定界符('=', ':')。因此,默认情况下,我的行不能包含任何行。但是我不想划定任何界限-我的任何一行都没有价值。

传递定界符=()或[]或无不起作用。如果使用一个空列表,它会抱怨option '' in section 'Section' already exists如果没有,我会得到'NoneType' is not iterable

那么,有没有办法确保分裂永远不会发生?我不得不指定一些我永远不希望使用的字符,这并不是最佳选择。

python configparser

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

如何在构建名称中使用构建原因?

当我使用 API 远程触发作业时,jenkins 上的作业显示:“由远程主机 IP 启动”。但是我的工作可能会因不同的原因和不同的来源而触发,因此如果我在 Jenkins 中能够查看工作并直接看到触发原因,那就太好了。

我知道我可以传递一个字符串参数,然后在每个作业中查看参数 - 但这不是很明显。我希望最好已经在所有工作列表中看到它。就像是:Reason: X Source: N

有什么办法可以做到这一点吗?

我注意到我们的发布作业采用了一个显示我想要的版本参数 - 但我不想滥用它,因为这些运行不是发布。

jenkins jenkins-plugins

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