小编Pha*_*ast的帖子

XCTAssertTrue不会停止例行程序

在失败的断言时,Xcode不会终止测试例程.它是否正确?我无法理解这背后的原因,我希望它表现得像assert并让它终止程序.通过以下测试,它将打印"仍在运行".这是有意的吗?

- (void)testTest
{
    XCTAssertTrue(false, @"boo");
    NSLog(@"still running");
}
Run Code Online (Sandbox Code Playgroud)

我不知道这将如何有用,因为当前提条件不满足时,后续代码通常会崩溃:

- (void)testTwoVectors
{
    XCTAssertTrue(vec1.size() == vec2.size(), @"vector size mismatch");

    for (int i=0; i<vec1.size(); i++) {
        XCTAssertTrue(vec1[i] == vec2[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

xcode unit-testing xcode5

9
推荐指数
2
解决办法
1880
查看次数

通过GLFW用鼠标输入的简单OpenGL程序中的明显滞后

这是一个简单的程序,它按照鼠标光标的位置绘制一个三角形。

我(希望您)会注意到,三角形落后于光标,它不像拖动整个窗口时那样紧。

所以我的问题是:我在做什么错?是什么导致这种滞后?

我意识到的一件事是,足以移动三角形的实际像素值,而不必一次又一次地对其进行栅格化。但是光栅化这个三角形真的那么贵吗?我还尝试使用glTranslate而不是在变化的坐标处进行绘制,但是滞后没有得到改善。因此,我希望您能启发我如何有效地进行绘制。

#include <GLFW/glfw3.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

float x = 0.0f;
float y = 0.0f;

static void error_callback(int error, const char* description)
{
    fputs(description, stderr);
}

static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
        glfwSetWindowShouldClose(window, GL_TRUE);
}

static void cursor_callback(GLFWwindow *window, double xpos, double ypos)
{
    int width, height;
    glfwGetFramebufferSize(window, &width, &height);
    float ratio = width / (float) height;
    x …
Run Code Online (Sandbox Code Playgroud)

opengl glfw

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

SWT中的RowLayout在字体基线上垂直对齐

SWT的RowLayout很适合这个目的,但是我想在包含文本的所有小部件的字体基线上进行垂直对齐.

可能有一个准备好的自定义布局,这样做?

Snippet204.java可能具有实现它所需的功能,但我只是想问它之前是否已经完成.找不到它,但它似乎是一个典型的要求.

在屏幕截图的顶部,有行布局,下面是我手动安排到基线的固定布局(WindowBuilder已经对此进行了捕捉).

演示截图

java fonts swt

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

为什么 C/C++“Hello World”以千字节为单位?

\n

可能的重复:
\n 为什么编译的 Java 类文件比 C 编译的文件小?

\n
\n\n\n\n

出于好奇,我刚刚用 C、C++ 和 Java 编译了“Hello Worlds”。

\n\n

Java 类文件非常精简,只有 423B,据我所知,因为运行时不包含在二进制文件中。

\n\n

然而,C 和 C++ 的大小是 8.5K 和 9.2K。

\n\n

为什么它们相对较大?\n我总是假设 stdio 或 iostream 是动态链接的,并且不会增加可执行文件的大小。

\n\n

那么所有千字节从何而来?\n通过查看十六进制转储,我发现有很多填充,我猜是出于性能原因。为什么二进制格式是这样组织的?

\n\n
\n\n

pmg的链接非常有帮助!

\n\n

关于填充,我发现程序段与虚拟内存页面边界(4096 字节)的对齐导致它至少为 8192 字节。

\n\n

关于 mach-o 二进制格式(适用于 OS X 和 iOS)

\n\n
\n

为了获得最佳性能,对于 PowerPC 和 x86 处理器,段应在虚拟内存页边界 \xe2\x80\x944096 字节上对齐。要计算段的大小,请将每个段的大小相加,然后将总和向上舍入到下一个虚拟内存页边界(4096 字节或 4 KB)。使用此算法,段的最小大小为 4 KB,此后以 4 KB 增量调整大小。

\n
\n\n

引用http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html

\n\n

我会在下次询问之前先做一下研究;)

\n

c c++ java executable

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

标签 统计

java ×2

c ×1

c++ ×1

executable ×1

fonts ×1

glfw ×1

opengl ×1

swt ×1

unit-testing ×1

xcode ×1

xcode5 ×1