小编120*_*arm的帖子

Pantheios在C++中设置显示级别

我正在使用Pantheios库进行日志记录.我有:

pantheios::log(pantheios::debug, "I'm debug");
pantheios::log(pantheios::informational, "Some info");
Run Code Online (Sandbox Code Playgroud)

哪个输出:

[MyApplication, Jun 14 15:45:26.549; Debug] : I'm debug
[MyApplication.1, Jun 14 15:45:26.549; Informational] : Some info
Run Code Online (Sandbox Code Playgroud)

但我想在显示信息和调试之间做出选择:

 set_level(pantheios::informational) //what should this be ?
 pantheios::log(pantheios::debug, "I'm debug");
 pantheios::log(pantheios::informational, "Some info");
Run Code Online (Sandbox Code Playgroud)

哪个输出:

[MyApplication.1, Jun 14 15:45:26.549; Informational] : Some info
Run Code Online (Sandbox Code Playgroud)

c++ logging pantheios log-level

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

在两点之间移动UIButton的正确方法?

尝试制作一个小型点击游戏,你有一个正方形网格,需要按不同的顺序点击它们.偶尔这些方块会互相交换位置.

我想我需要将每个方块的位置放入一个数组中.然后,当需要移动时,从当前位置转到从阵列中随机选择的位置,然后删除阵列中的该位置,这样我就不会在同一个位置获得多个按钮.

不幸的是,我甚至无法移动UIButtons,更不用说在两个位置之间进行插值.

目前这将移动一个按钮:

-(IBAction)button:(id)sender
{
    button.center = CGPointMake(200, 200);
}
Run Code Online (Sandbox Code Playgroud)

但我不希望它像那样工作,我希望它能像这样工作,但它不起作用:

if (allButtonsPressed == YES)
{
    button.center = CGPointMake(200, 200);
}
Run Code Online (Sandbox Code Playgroud)

如果放置如下,它甚至不会移动:

-(void)viewDidLoad
{
    [super viewDidLoad];
    button.center = CGPointMake(200, 200);
}
Run Code Online (Sandbox Code Playgroud)

为清楚起见,按钮是通过Interface Builder添加的,所有这些情况在做其他事情时都有效,所以我猜UIButtons需要以特定的方式移动/动画?

xcode interpolation uibutton

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

将跳转命令写入x86-64二进制文件

我正在使用GDB调试Mac OS X 64位应用程序。我看到跳过一大堆代码可以解决我所有的问题。

但:

如何修补可执行文件以实现跳转?我希望应用程序在没有调试器的情况下自动跳转到代码中的定义点。

这就是我想做的:

在地址0x1000027a9(由调试器提供)处跳转到address 0x100003b6e。我正在努力通过HexEdit进行操作,但是没有成功。我在任何地方都读到了关于jmp到绝对地址操作码的信息(FF似乎是正确的操作码,但这是一个调用,而不是跳转...),但是没有任何效果。错误的访问,segfault。

我怎样才能做到这一点?

macos assembly patch x86-64

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

在这种情况下,jmp指令如何在att程序集中工作

我现在正在AT&T程序集中逐步执行一个函数,无法弄清楚这个特定的jmp命令是如何工作的.

    jmp    *0x804a140(,%eax,4)
Run Code Online (Sandbox Code Playgroud)

究竟是如何使用%eax寄存器和4使用跳转指令?我以前从未见过jmp使用过这种方式.

x86 assembly att

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

使用 PC 相关数据源的绝对跳转 (AArch64)

如何在AArch64 上使用尽可能少的指令执行绝对跳转(64 位双字),同时使用相对于程序计数器的数据源?

乍一看,人们可能会认为 aLDR后跟 a BR是可能的,即:

LDR x9, [PC, #0x8];
BR x9
.dword 0xBADC0FFEE0DDF00D
Run Code Online (Sandbox Code Playgroud)

但由于PC不再是AArch64上的通用寄存器,因此不是。

那么,如何用尽可能少的指令来做到这一点呢?

assembly arm64

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

从Booking.com API获取房地产评级

我需要从Booking.com系统获取特定资产的评级值。是否有API提供有关其系统中列出的属性的信息,例如总体评级和其他有用信息?

booking.com-api

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

调试时 Visual Studio 跳过(和移动)断点 (C++/CMake)

我有一个在 Ubuntu 上创建的 CMake 项目,我现在正在 Visual Studio 上加载它(用于双引导开发)。

该项目可以在这里看到:http : //github.com/KiloMikeCodesStuff/Gravity

下图显示了问题: 图片

注意左边我是如何清楚地在第 5 行设置断点的。当我运行它时,断点移动并在第 8 行停止。

我试过了:

  • 打扫
  • 重建
  • 重命名变量

在所有情况下,结果都是一样的。我在想可能有一些代码优化(因为我选择为 x64 版本构建,因为这些是我为 SFML 拥有的唯一 DLL)。

这会是罪魁祸首吗?如果是这样,我如何禁用优化(记住它是一个 CMake 项目,而不是一个典型的 VS 项目)?

c++ debugging breakpoints cmake sfml

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

对于使用过的类,可以设置重载operator +的优先级吗?

我有两节课:

class_1 a,b;
class_2 u,v;
Run Code Online (Sandbox Code Playgroud)

operator+在所有类组合之间定义的地方.所有添加class_1都为+运算符的两侧输出a 所有类组合.

然后我有一个表达式:

a = u + v + b;
Run Code Online (Sandbox Code Playgroud)

是否有可能执行operator+之间class_1,并class_2具有较高优先级总是那么之间class_2class_2?如果不是,是否存在某种内部规则,例如总是"更多左"运算符(即使使用/ Ox)?

c++ operator-overloading

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

C printf:可变字符串列的宽度,左对齐

我正在尝试格式化printf字符串输出:

printf("%*s %*s %*s %*s %*s %*s %*s %*s %*s\n", 
maxlen[0], "intf", maxlen[1], "ssid", maxlen[2], 
"bssid", maxlen[3], "vlan", maxlen[4], "STA", 
maxlen[5], "tx-pkts", maxlen[6], "rx-pkts", maxlen[7],
 "security", maxlen[8], "Capabilities");
Run Code Online (Sandbox Code Playgroud)

maxlen在这种情况下,其中的数组是值5、13、17、4、3、7、7、15和12。

但是,在输出中,字符串右对齐,这意味着它们将浮动在其宽度大小的块的右侧。输出:

intf ssid bssid vlan STA tx-pkts rx-pkts security Capabilities

有没有办法将这些字符串向左浮动?

因此,而不是[][][][][][][]security,我要security[][][][][][][]width==15第二个到最后的块,例如。

我尝试创建一个spaces字符串数组,如下所示:

char **spaces = (char**)malloc(9*sizeof(char*));

然后,对于每个icalloc spaces[i]然后,而不是做"%*s",我做%s%s,这里打印的第二个字符串是spaces[i]

但这似乎也不起作用,因为我需要做

snprintf(spaces[i], maxlen[i]-size_of_string, "  (however many spaces)    ");
Run Code Online (Sandbox Code Playgroud)

而且我不知道要为第三个参数硬编码多少个空格。没有" " * length …

c formatting pointers

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

C ++宏,用[]替换.at()

如果经常使用索引.at()而不是[]访问向量或字符串中的元素,则经常会出现索引超出范围的错误,这很容易捕获。但是,at()由于进行边界检查,会使我的程序速度降低5倍。

我试图写一个宏来代替.at(someVariable)[someVariable]这样我就可以取消对宏观的而不是取代每.at()一个[]手动。我已经阅读了cppreference.com上有关宏的文档,但似乎无法设计一种获得此功能的方法。

c++

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