← All posts tagged C++

aix27249
Qt C++ Жуйк, как решить такую задачку:
Есть либа. В ней есть функция, которая выполняет достаточно продолжительную работу.
Эту либу используют различные обертки в виде юзерского интерфейса, в моем случае — гуй на Qt и консольный вариант.
Нужно как-то из этой функции сообщать в гуй текущий статус процесса (то бишь, периодически посылать туда строку).

Раньше эта функция была прямо в Qt'шном коде, и делалось всё просто: функция была членом Q_OBJECT класса, через сигнал шло сообщение в UI.
Так как в либе использовать Qt нельзя (жесткий лимит по размеру зависимостей), запихать туда сигналы не получится.
Первая (и последняя) идея, которая пришла в голову — callback. Но указатель на функцию, являющуюся членом класса, получить нельзя (как я понял, ограничение реализации языка в компиляторе).

Вопрос: какие еще есть методы отправки сообщений из функции в процессе ее работы? Как вообще решить эту задачу?
aix27249
C C++ Вопрос навеян тредом с лора. Предположим, есть такой код на си (или плюсах — я думаю что разницы нет):

char *c = malloc(100);
char[200] = 'a';

При каких условиях это НЕ вызовет сегфолт?
aix27249
C++ STL programming Внезапно выяснил, что таки string1 == string2 работает ощутимо медленнее, чем strcmp(string1.c_str(), string2.c_str())==0 и это меня расстраивает. Ну неужели нельзя было такую банальную операцию сделать хотя бы равной по скорости? Теперь бегаю по тем местам кода где таких сравнений много и заменяю, оптимизируя скорость.