小编Srv*_*v19的帖子

如何使用 MSTest 为 C++ 测试设置数据驱动的测试?

我正在尝试对本机代码使用 microsoft 单元测试,但是在编写基本测试后我遇到了一个问题:我找不到如何使用参数创建测试方法。

在搜索主题时,我找到了一些添加此类方法的方法,即编写数据驱动的测试(例如,http://msdn.microsoft.com/en-us/library/ms182527.aspx)。但是,我不知道如何将它与本机 C++ 测试一起使用。

据我所知,不TEST_METHOD存在带有参数的函数的宏,不存在“DataSource”属性的宏等。

是否有使用 MsTest 设置本机 C++ 代码的数据驱动测试的示例?

c++ testing mstest

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

如何在提交到非默认分支时触发gitlab CI中的自动构建?

我在GitLab中有一个与Gitlab CI集成的项目。竭尽全力推动项目的发展。

但是,当创建新分支并将其推入存储库时,gitlab CI中不会保留构建。启用其他分支构建的设置是什么-交替出现,我如何确定出了什么问题?

gitlab gitlab-ci

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

为windows mobile 6编译zlib

我正在尝试在Visual Studio 2008中为Windows Mobile编译zlib.

但是,这会导致错误.在文件zconf.h中包含文件sys/types.h.

虽然这个文件是在标准的visual studio include目录中,但是windows mobile sdk附带的文件夹ce/include中没有sys子文件夹,而且这里没有types.h文件.

因此,zlb无法编译.

该如何解决?

更新:包含本身在#if块中.再具体一点:

#ifdef STDC
#  ifndef Z_SOLO
#    include <sys/types.h>      /* for off_t */
#  endif
#endif
Run Code Online (Sandbox Code Playgroud)

这带来了另一个问题.Z_SOLO宏的含义是什么?它充斥在#ifdef中,就像在zlib中一样,但是搜索它并不能给出应该是什么的线索.顺便说一下,它没有定义.

c zlib windows-mobile visual-studio-2008

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

使用qt自定义委托更正突出显示

我正在创建一个表控件,除了显示其模型的DisplayRole之外,还显示一些其他文本数据.在所有其他方面,文本和单元格显示应该相同.我遇到的问题是正确显示突出显示的单元格.

我目前正在使用以下代码:

void MatchDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{

 if (option.state & QStyle::State_Selected)
      painter->fillRect(option.rect, option.palette.highlight());
 painter->save();
 QString str = qvariant_cast<QString>(index.data())+ "\n";
 str  += QString::number(qvariant_cast<float>(index.data(Qt::UserRole)));
 if (option.state & QStyle::State_Selected)
     painter->setBrush(option.palette.highlightedText());
 else
     painter->setBrush(qvariant_cast<QBrush>(index.data(Qt::ForegroundRole)));

 painter->drawText(option.rect, qvariant_cast<int>(index.data(Qt::TextAlignmentRole)), str);
 painter->restore();

}
Run Code Online (Sandbox Code Playgroud)

但是,结果如下所示:

突出细胞

文本颜色错误,单元格周围没有划线,当控件失去焦点时,单元格保持蓝色而不是像默认单元格所绘制的那样变为浅灰色.

如何改变绘画代码来解决这些问题?

c++ user-interface qt

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

如何为 elpa 包生成自动加载?

我已经使用 elpa 安装了许多软件包,并希望为它们适当地生成自动加载。为此,我添加到我的 init 文件中:

(apply 'update-directory-autoloads (directory-files package-user-dir t "[^\.].*"))
Run Code Online (Sandbox Code Playgroud)

但是,我因以下回溯而失败:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  expand-file-name(nil "/build/buildd/emacs24-24.3+1/debian/build-x/lisp")
  autoload-generated-file()
  autoload-find-generated-file()
  update-directory-autoloads("/home/survivor/.emacs.d/elpa/ahg-20140818.130")
  eval((update-directory-autoloads "/home/survivor/.emacs.d/elpa/ahg-20140818.130") nil)
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp nil nil)
Run Code Online (Sandbox Code Playgroud)

我试图这样做的方式是错误的吗?我应该为我require的每个包裹都放上吗?

emacs elisp

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

使用 Hy 宏生成 Python 代码

我正在尝试从 Hy 生成一些 python 代码。怎么做比较好?

我尝试了几种方法。一种是使用宏:

(defmacro make-vars [data]
  (setv res '())
  (for [element data]
    (setv varname (HySymbol (+ "var" (str element))))
    (setv res (cons `(setv ~varname 0) res)))
  `(do ~@res))
Run Code Online (Sandbox Code Playgroud)

然后在捕获宏扩展后,我打印代码的python反汇编。

但是,似乎使用宏我无法传递变量,因此:

(setv vnames [1 2 3])
(make-vars vnames)
Run Code Online (Sandbox Code Playgroud)

定义varv, varn,vara等,而不是var1, var2, var3。似乎可以通过以下方式进行正确的调用:

(macroexpand `(make-vars ~vnames))
Run Code Online (Sandbox Code Playgroud)

但这似乎过于复杂。

我遇到的其他问题是 的必要性HySymbol,这是一个很大的惊喜。但是当我尝试第二种方法时,我真的受到了伤害,我创建了一个返回引用形式的函数:

(defn make-faction-detaches [faction metadata unit-types]
  (let [meta-base (get metadata "Base")
        meta-pattern (get metadata "Sections")
        class-cand []
        class-def '()
        class-grouping …
Run Code Online (Sandbox Code Playgroud)

lisp python macros hy

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

链接器错误"libpng.lib中的未解析的外部符号__imp___iob_func"

我正在尝试为Windows Mobile 6编译libpng,但是我得到以下链接器错误:

error LNK2019: unresolved external symbol __imp___iob_func referenced in function png_default_error libpng.lib
error LNK2019: unresolved external symbol __imp_abort referenced in function png_longjmp
Run Code Online (Sandbox Code Playgroud)

使用/ MD选项完成编译,我的主项目之间相同.zlib和libpng.

当使用/ MT时,仍然存在错误,但略有不同:

error LNK2019: unresolved external symbol __iob_func referenced in function png_default_error
error LNK2019: unresolved external symbol abort referenced in function png_longjmp
Run Code Online (Sandbox Code Playgroud)

这带来了几个问题.

  1. 什么是__imp___iob_func__imp_abort
  2. 它们在哪里实施?或者,如何排除对它们的引用?

我的libpng编译器选项:

/Od /I "..\lib\zlib-1.2.7" /I "..\lib\lpng1512" /D "_DEBUG" /D "_WIN32_WCE=0x502" /D "UNDER_CE" /D "WIN32_PLATFORM_PSPC" /D "WINCE" /D "DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "LIBPNG_EXPORTS" /D …
Run Code Online (Sandbox Code Playgroud)

c windows-mobile libpng

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

如何在没有复制构造函数的情况下初始化类的静态实例>

我有没有复制构造函数或赋值运算符的类.我需要创建并初始化该类的实例.我怎么做?

代码有问题(例子):

class Q
{
    int w;
    public:
    Q():w(19){};
    Q(const Q&) = delete;
    Q& operator = (const Q&) = delete;

    static Q sQ;
};

Q Q::sQ = Q();
Run Code Online (Sandbox Code Playgroud)

关于意识形态

用例:我有一个派生自的类,QObject因此删除了赋值运算符和复制构造函数.应该有一个类的静态实例,如何实现?

c++ qt static initialization c++14

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

如何将QLabel的大小设置为pixmap中的图像大小?

我正在为我的应用程序使用QT,最后使用QLabel来显示图像.但是,它显示为裁剪.如何将QLabel的大小设置为其pixmap之一?怎么能这样做,如果pixmap改变它会改变?

c++ qt image

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

如何在lisp中生成加法器函数?

我需要创建一个生成如下函数的函数:

(defun add3 (val) (+ 3 val))
Run Code Online (Sandbox Code Playgroud)

应该像这样使用:

(setq adder7 nil)
(fset 'adder7 (make-adder 7))
(adder7 3)
     => 10
Run Code Online (Sandbox Code Playgroud)

理想情况下,函数make-adder应该返回除了参数之外没有任何符号的lambdas,例如:

(make-adder 7)
      => (lambda (val) (+ 7 val))
Run Code Online (Sandbox Code Playgroud)

更新

我尝试过以下天真的实现:

(defun make-adder (n)
  (lambda (x) (+ n x)))
Run Code Online (Sandbox Code Playgroud)

但是这会生成一个包含自由符号(不是数字常量!)的lambda,并且它的使用失败.

(defalias 'add1 (make-adder 1))
(add1 2)
       => Debugger error void-variable n

(let ((n 5))
  (add1 2))
       => 7
Run Code Online (Sandbox Code Playgroud)

这根本不是我想要的.

lisp elisp

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