Как это решается в других проектах?
Схема подключения:
В микроконтроллерах понимания ноль
Из за чего это ?
offsetof(struct my_struct_in, addr)
чтобы в этом убедиться.uint32_t addr
, если имелся в виду IP адрес). Паковать структуры (если выравнять нельзя), либо располагать поля согласно их натуральному выравниванию. #include <stdio.h>
class A
{
public:
virtual ~A()
{
}
};
class B
{
public:
virtual ~B()
{
}
};
class C
{
public:
virtual void dump() = 0;
virtual ~C()
{
}
};
class D: public A, public C
{
public:
virtual void dump()
{
printf("D: %p\n", this);
}
};
class E: public B, public C
{
public:
virtual void dump()
{
printf("E: %p\n", this);
}
};
void f(void *p)
{
C *pc1 = dynamic_cast<C*>((A*)p);
C *pc2 = dynamic_cast<C*>((B*)p);
C *pc3 = dynamic_cast<C*>((C*)p);
if (pc1)
pc1->dump();
else if (pc2)
pc2->dump();
else if (pc3)
pc3->dump();
}
int main()
{
D d;
E e;
printf("d: %p, e: %p\n", &d, &e);
A *pa = &d;
f(pa);
B *pb = &e;
f(pb);
C *pc1 = &d;
f(pc1);
C *pc2 = &e;
f(pc2);
D *pd = &d;
f(pd);
E *pe = &e;
f(pe);
return 0;
}
Как сделать, чтоб он открылся в правом окне, а в левом так и остался бы список файлов?
let g:netrw_preview = 1
и нажимать на интересующем файле p
вместо ENTER
. При этом справа от списка файлов будет открываться окно preview для файла под курсором, а курсор так и останется в левом окне. Следующее нажатие p
заменит содержимое preview файлом под курсором.p
ещё есть v
. А кроме того F1
в списке файлов открывает help по теме. Как на Си вывести флаги в том же формате, что делает команда objdump?
static void
dump_bfd_header (bfd *abfd)
{
char *comma = "";
printf (_("architecture: %s, "),
bfd_printable_arch_mach (bfd_get_arch (abfd),
bfd_get_mach (abfd)));
printf (_("flags 0x%08x:\n"), abfd->flags & ~BFD_FLAGS_FOR_BFD_USE_MASK);
#define PF(x, y) if (abfd->flags & x) {printf("%s%s", comma, y); comma=", ";}
PF (HAS_RELOC, "HAS_RELOC");
PF (EXEC_P, "EXEC_P");
PF (HAS_LINENO, "HAS_LINENO");
PF (HAS_DEBUG, "HAS_DEBUG");
PF (HAS_SYMS, "HAS_SYMS");
PF (HAS_LOCALS, "HAS_LOCALS");
PF (DYNAMIC, "DYNAMIC");
PF (WP_TEXT, "WP_TEXT");
PF (D_PAGED, "D_PAGED");
PF (BFD_IS_RELAXABLE, "BFD_IS_RELAXABLE");
printf (_("\nstart address 0x"));
bfd_printf_vma (abfd, abfd->start_address);
printf ("\n");
}
Как это сделать программно?
Почему в решениях с одинаковой сложностью существенная разница во времени расчета?
1 вариант: Добавляет элемент block__element3 блоку block;
2 вариант: Добавляет текст с описанием блоку block;
Почему у меня при отладке (картинка 1), и при чужой отладке (картинка 2) в сегменте, внизу, где четыре строки es, значения совершенно отличаются, хотя это отладка одной и той же программы?