Как собрать сборку, желательно статически? Есть https://github.com/cisco-open-source/qtwebdriver такой проект, никак не могу его собрать, как вообще правильно такой проект с QT компиллить?
malloc'om выделил память, но хочу я сместить указатель на 1 байт. Как это сделать?
Как мне вернуть из функции массив
string arr[0] = func(exp);
Вопрос: в return я умножаю два int, функция возвращает копию Factory, почему так?
int Factory::operator *
-- всё было бы по-другому.Не могу понять, почему у меня не отрабатывает std::thread без вызова cout? Как такое вообще возможно?
Я так понимаю lpEnumFunc - просто указатель на пользовательскую callback-функцию, а все данные передаваемые в нее закодированы в lParam
BOOL CALLBACK EnumWindowsProc(
_In_ HWND hwnd,
_In_ LPARAM lParam
);
struct enumWindowsParams {
WNDENUMPROC lpEnumProc;
LPARAM lParam;
};
BOOL CALLBACK myEnumFunc(
_In_ HWND hwnd,
_In_ LPARAM lParam
)
{
// use hwnd as needed
struct enumWindowsParams *ewp = (struct enumWindowsParams *)lParam;
return ewp->lpEnumProc(hwnd, ewp->lParam);
}
BOOL WINAPI FalseEnumWindows(
_In_ WNDENUMPROC lpEnumFunc,
_In_ LPARAM lParam
)
{
struct enumWindowsParams ewp;
ewp.lpEnumFunc= lpEnumFunc;
ewp.lParam = lParam;
BOOL result = TrueEnumWindows(myEnumFunc, (LPARAM)&ewp);
return result;
}
#include <inttypes.h>
#include <stdlib.h>
static int width(uint64_t v)
{
int i;
for (i = 0; v; ++i)
v >>= 1;
return i;
}
uint64_t big_rand(uint64_t low, uint64_t high)
{
uint64_t d = high - low;
int rn;
int n;
assert(low < high);
rn = width(RAND_MAX);
n = width(d);
for (;;) {
uint64_t v = 0;
int i;
for (i = 0; i < n; i += rn) {
v |= rand() << i;
}
if (i != n) {
v &= ~(((UINT64_C(1) << (i - n)) - 1) << n);
}
if (v <= d) {
return v + low;
}
}
}
возможно ли на уровне рантайма узнать сколько аргументов было помещено в стек перед вызовом виртуального метода (по виду стека, по виртуальной таблице объекта или другой информации доступной в рантайме)?
Но вот что вообще определяет уверенное знания С++. То есть, что именно для этого нужно знать?