小编for*_*neo的帖子

如何在基于CMake的项目中使用Boost.Test?

我的项目使用CMake作为其构建系统,我希望它能够执行我的Boost.Test测试用例.

我怎样才能做到这一点?在Boost.Build中,我可以这样做:

import testing ;

use-project /my_lib : ../src ;

unit-test my_test
          : my_test.cpp
            /my_lib
          boost_unit_test_framework
        ;

lib boost_unit_test_framework ;
Run Code Online (Sandbox Code Playgroud)

c++ boost cmake boost-test

15
推荐指数
2
解决办法
8283
查看次数

Android:为什么要为ldpi,mdpi和hdpi创建特定图像?

我目前正在尝试使用我的Android应用程序支持更大范围的设备.然而,即使在阅读了Android Dev Guide对此问题的评论之后,我仍然不确定为什么我应该为ldpi,mdpi和hdpi提供不同的图形.

我知道图像会自动缩放,所以我只能提供hdpi图形,让设备完成剩下的工作.如果设备能够降低扩展质量吗?这会是性能问题吗?现在我更担心将APK大小乘以3.

android resolution

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

Android:如何调整按钮大小?

我在我的应用程序中使用了几个按钮,但layout_width/height"wrap_content"和"fill_parent"看起来都很奇怪.前者很小而后者太大 - 看起来都很奇怪,前者不容易用手指击打.

我应该如何调整按钮尺寸?倾角定义它们的尺寸是否典型?或者我应该使用填充"fill_parent"?按钮在我的应用程序中看起来很奇怪,在其他应用程序中则不然

layout android button

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

用C++实现模拟

我需要一个类的模拟实现 - 用于测试目的 - 我想知道我应该如何做到这一点.我可以想到两种一般方式:

  1. 创建一个包含该类的所有公共函数的接口作为纯虚函数,然后通过派生它来创建一个模拟类.
  2. 将所有函数(至少是所有要模拟的函数)标记为虚拟.

我习惯于在Java中使用它的第一种方式,它也很常见(可能因为它们有专用的接口类型).但是我几乎没有在C++中看到这种界面沉重的设计,因此我很想知道.

第二种方式可能会起作用,但我不禁想到它有点难看.有人这样做吗?

如果我按照第一种方式,我需要一些命名帮助.我有一个音频系统,负责加载声音文件和播放加载的曲目.我正在使用OpenAL,因此我将接口称为"音频"和实现"OpenALAudio".但是,这意味着所有特定于OpenAL的代码都必须进入该类,这感觉有点限制.另一种方法是保留类"名称"Audio"并为界面找到不同的名称,例如"AudioInterface"或"IAudio".你会建议哪个,为什么?

c++ testing tdd mocking

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

如何在C++中订购函数?

我不知道如何在C++中订购我的函数.在C中,我只是放置了一个函数,该函数使用该函数下面的另一个函数,尽可能接近 - 这很常见.像这样:

void bar()
{
}

void foo()
{
    bar();
}
Run Code Online (Sandbox Code Playgroud)

但是,在C++中,有几种类型的函数:

  • 免费功能
  • 私人会员功能
  • 公共成员职能
  • 静态成员函数

我目前正在使我的函数顺序依赖于它们在.hpp文件中的排序方式,例如:

class Foo_bar {
public:
    Foo_bar();
    void foo();
private:
    int some_member;
    void bar();
Run Code Online (Sandbox Code Playgroud)

但是现在,如果构造函数使用foo()或bar(),它们将位于源文件的构造函数下方,与我通常的顺序不一致.我当然可以重新排序我的标题以考虑到这一点:

class Foo_bar {
private:
    int some_member;
    void bar();

public:
    void foo();
    Foo_bar();
Run Code Online (Sandbox Code Playgroud)

但我认为那是一团糟.

此外,在Java中,与我的第一个示例相反似乎很常见:

void foo()
{
    bar();
}

void bar()
{
}
Run Code Online (Sandbox Code Playgroud)

这可能是由于OOP中常见的自上而下的思维,与程序/函数式编程中常见的自下而上的思维形成鲜明对比.但是,对于没有原型的自由函数,这种自上而下的风格是不可能的.

甚至可以以一致的方式在C++中命令函数吗?

c++ function

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

Java中的版本

我必须管理Java构建,我不知道如何最好地管理软件的版本,以便它可以显示在一个关于对话框等.

你们是怎么做到的?我们正在使用Maven,我可以以某种方式重用pom.xml中定义的版本吗?我也有兴趣知道Ant通常是如何完成的.

java ant version maven

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

标签 统计

c++ ×3

android ×2

ant ×1

boost ×1

boost-test ×1

button ×1

cmake ×1

function ×1

java ×1

layout ×1

maven ×1

mocking ×1

resolution ×1

tdd ×1

testing ×1

version ×1