小编Max*_*cat的帖子

多个文件可以存储在同一个块中吗?

我正在编写一些块级操作,我想确保我不会打击其他文件.在ext2/3/4文件系统中,多个文件可以存储在同一个块中吗?我的第一直觉是没有办法,但我想与社区核实.

c filesystems file

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

如何在Visual Studio 2012中查看断言失败的C ++堆栈跟踪?

当我的断言在Visual Studio 2012中失败时,如何查看stacktrace?如果将我附加到某个进程,则该进程将按预期工作,但是当我仅使用F5(调试)进行构建时,会发生我的断言,并提示“中止,重试,忽略”,但在调试器。

有什么方法可以在调试构建期间启用它,还是我总是必须先构建然后附加到该过程中?

我的断言只是一个简单的assert(1 == 2),可以使其失败并查看调用栈。

c++ assert visual-c++ visual-studio-2012

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

如何在Dynamics AX 2012中从X ++生成CIL?

是否可以从X ++代码或命令行生成CIL(增量或完整)?

我的问题是我想将模型或xpo导入AX,我需要自动生成CIL.这是我们正在进行的自动化测试 - 因此,我不能像通常那样使用UI来生成增量或完整的CIL

谢谢!

cil ax x++ axapta dynamics-ax-2012

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

具有默认构造函数的类中的重载()运算符

我意识到这不一定是你想要做的事情,但是前几天我遇到了类似的代码.所以,我想更多地研究一下这个想法......

我有一个重载了构造函数和仿函数的类.这按预期工作.但是,当你使用默认构造函数调用一个类然后尝试使用该仿函数时,它会失败(因为它无法弄清楚如何将类转换为int,这不是我想要的,无论如何.)这样做的正确方法是什么?

#include <cstdio>

class foo
{
public:
    foo(int a, int b);
    foo();
    int operator()();
private:
    int result;
};

foo::foo(int a, int b)
{
    printf("I am a foo(int, int). a: %d b: %d\n", a, b);
    result = a + b;
}

foo::foo()
{
    printf("I am a base foo!\n");
    result = -1;
}

int foo::operator()()
{
    return result;
}

int main(void)
{
    int ret1 = -12345;
    int ret2 = -12345;

    foo myfoo(3, 8);
    foo otherfoo();

    ret1 = myfoo();
    ret2 = otherfoo(); …
Run Code Online (Sandbox Code Playgroud)

c++

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

在GDB中,你可以将内存设置为一个字符数组吗?

举例来说,我在地址 0xdeadbeef 处有一个 32 元素的无符号字符数组。我想覆盖内存中数组的内容。我没有使用 -g 进行编译,因此不能只执行“set [variable name] = [my value]”。

是否可以一次性设置内存的内容?

我见过有人尝试过set *((unsigned char*) 0xdeadbeef) = "abcdefghijklmnop",但这似乎不起作用。

或者,如果不可能(例如,因为 gdb 如何知道将其转换为十六进制 ascii 表示形式?),是否可以一次给出多个字节、单词等?例如,我可以只计算我想要数组表示的十六进制值,但是我可以一次性输入所有值吗?就像是:set 0xdeadbeef = 0x4142434445464748495051

c arrays gdb

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

如何在bash脚本中传递字符串引号?

在命令行上,如果我键入

adb -s "" shell
Run Code Online (Sandbox Code Playgroud)

我有一个外壳,但是如果我尝试在bash中这样做:

#!/bin/bash
ADB_ID=""
adb -s ${ADB_ID} shell
Run Code Online (Sandbox Code Playgroud)

我得到一个错误。我了解它没有传递$ {ADB_ID}的任何内容。我尝试将引号转义,这导致它查找名为“”的设备,这是不正确的。我也尝试过使用单引号和单转义的引号,两者都是错误的。如何在bash脚本中传递等效的命令行?

bash

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

为什么这不是dynamic_cast?

我试图了解一些C++功能并编写了一些测试.但是,当我尝试编译时,我收到以下错误(如下).为什么会发生这种情况,以及正确的方法是什么?我正在尝试将32位指针转换为8位指针并在转换后打印出内容.

cast3.cpp:22:错误:不能用dynamic_cast'bigptr'(类型'uint32_t*')来输入'uint8_t*'(目标不是指针或类的引用)

码:

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void castme(uint8_t small[], int size);

int main(void)
{
    uint8_t *small;

    uint32_t big = 0x01234567;
    uint32_t *bigptr = &big;

    small = dynamic_cast<uint8_t *>(bigptr); // Line 22
    castme(small, sizeof(big));

    return 0;
}

void castme(uint8_t small[], int size)
{
    for (int i = 0; i < size; i++)
    {
        printf("0x%x\n",  small[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×3

c ×2

arrays ×1

assert ×1

ax ×1

axapta ×1

bash ×1

cil ×1

dynamics-ax-2012 ×1

file ×1

filesystems ×1

gdb ×1

visual-c++ ×1

visual-studio-2012 ×1

x++ ×1