LINUX.ORG.RU

Сообщения sitev_ru

 

Проверка работы sendmail

Как проверить работу sendmail и как настроить, если не работает?

 

sitev_ru
()

Куда-то исчезает часть строки

Есть класс:

class MessageThread {
public:
	thread *thr;
	vector<Message> messages;
};

Внутри функции void ThreadPool::add() вызываю

	MessageThread mthr;
	Message message;
	message.msg = msg;

	mthr.messages.push_back(message);

MessageThread mthr;
mthr.thr = new thread(&ThreadPool::func, this, std::ref(mthr));

Теперь в функции

void ThreadPool::func(MessageThread &mthr) {
	auto it = mthr.messages.begin();

	Message message = *it;
	cout << "message = " << message.msg << endl; 
}

где Message, это такой вот класс:

class Message {
public:
...
	string msg;
...
};

Так вот, часть строчки куда-то пропадает. Что это может быть такое?

 , ,

sitev_ru
()

Как поймать событие epoll connect в неблокированном режиме?

Под windows я отлавливал событие FD_CONNECT. Здесь такого, почему то, не нашёл. Как всё-таки поймать epoll connect?

 ,

sitev_ru
()

Не работает make для другого каталога

У меня такая структура проекта:

projects/prj1/src

projects/prj2/src

Когда я компилирую проект prj2 и все исходники лежат тут projects/prj2/src - всё работает... Но если я хочу подцепить исходники из projects/prj1/src, то возникает ошибка.

Почему так происходит?

 ,

sitev_ru
()

Что за проблема c подключением вложенных библиотек?

Создаю в Qt Creator, но думаю, что проблема не в нём...

Создаю статическую библиотеку lib1 в Qt без использования QtCore. Проект получается, по-умолчанию, содержащий файлы lib1.cpp и lib1.h, в которых описан пустой класс Lib1 (только пустой конструктор).

Создаю тестовое приложение «Проект без Qt», которое так и называется test, подключаю к нему эту либу - всё работает.

Теперь создаю также как и lib1 статическую библиотеку lib2.

lib2.cpp:

#include «lib1.h» #include «lib2.h»

Lib2::Lib2() { Lib1 *lib1 = new Lib1(); }

Компилирую библиотеку Lib2 - пока всё работает как надо.

Вставляю в своё приложение строчку:

Lib2 *lib2 = new Lib2();

И тут появляется странная ошибка:

Undefined reference to Lib1::Lib1() в файле lib2.cpp

Что за странная ошибка? Что я делаю не так?

 ,

sitev_ru
()

Почему execl выходит из процесса?

Форкаю процесс, в нём запускаю с помощью execl другую программу. Делаю это в цикле:

pid_t pid = fork();
if (pid == 0) {
    while(1) {
        execl(...);
    }
}

Казалось бы после завершения выполнения execl() цикл должен заново запустить execl(), но не тут то было. Просто завершается форкнутый процесс. Если выполняю через system(), то всё работает нормально, но нужно через execl().

Почему так происходит?

 

sitev_ru
()

Как отловить segmentation fault с помощью try/catch ?

В Windows я просто выставляю опцию и ловлю, если ли такое же в Linux? Пишу на C++.

 

sitev_ru
()

Что делать с процессом sendmail-mta?

На моём VPS процесс sendmail-mta занимает 3-5% процессорного времени? Возможно, взломали мой сайт... Какие действия предпринять? Как бороться с этим?

 ,

sitev_ru
()

Разработка сайтов на C++

Как вы относитесь к разработке сайтов на C++? Какие плюсы, минусы?

 

sitev_ru
()

Установить mysql connector/c

Когда-то давно ставил - всё работало, но сейчас не получается...

Пробую, что насоветовал гугл... установил... mysql.h нашёл, а вот саму либу не устанавливает...

 , ,

sitev_ru
()

Изменить порт apache ubuntu на другой

У меня apache стоит на порту 80. Хочу поменять, например, на 8080...

Менял здесь /etc/apache2/ports.conf не помогает. После перезапуска apache порт восстанавливается на 80. В других местах менял - тоже самое...

Подскажите верный вариант?

 ,

sitev_ru
()

Можно ли скрестить NativeScript и Bootstrap?

Пишу на Bootstrap. Хочу на нём получить мобильное приложение. Можно, вроде как, это сделать с помощью Phonegap. Однако, на старых телефонах тормозит.

И тут мне подсказывают, что можно использовать NativeScript (хотя тоже ограничение - «You can develop for Android 4.2 or later and iOS 7.1 or later»). Будет ли с ним работать Bootstrap?

 ,

sitev_ru
()

Ошибка EPIPE, используя браузер Android

Написал демон на C++ под линукс. Обращаюсь к нему из браузера Android, указывая в адресной строке site.ru/file.typ. Если я указываю (вместо typ) расширение jpg - то файл качается без проблем, а если, например, apk - то выдаёт ошибку EPIPE.

Как я понимаю, если расширение файла, стандартное для веба, то нет проблем, а если другое, то EPIPE неизбежно.

Как решить проблему?

 , , , ,

sitev_ru
()

Есть простые примеры реализации epoll на C/C++?

Настраиваю неблокирующие сокеты... Читаю/отправляю небольшие посылки... А вот когда дело касается больших пакетов, то, как я понимаю, нужно использовать epoll. Не подскажите простенькие примеры чтения и записи с помощью epoll на с/с++?

 , ,

sitev_ru
()

Почему тут может вылетать программа?

Если отправляю на обычный компьютер, то норм, а если на Android - то вылетает...

bool Socket::sendAll(void *buffer, int size) { if (!isValid()) return 0; char *ptr = (char*) buffer;

int counter = 0; while (size > 0) { int sz = ::send(m_sock, ptr, size, 0); usleep(1000); if (sz < 1) { counter++; if (counter > 10000) return false; continue; } ptr += sz; size -= sz; }

return true; }

 , ,

sitev_ru
()

C++ fopen shared file

Для работы с файлами использую fopen для открытия файла. Тут вдруг понадобилось одновременно открыть файл нескольким потокам для чтения.

Как открыть файл в таком режиме используя fopen? Или использовать что-то другое?

 

sitev_ru
()

Как прекратить выполнение хранимой процедуры ORACLE, используя OCCI?

Как прекратить выполнение хранимой процедуры ORACLE, используя OCCI?

 ,

sitev_ru
()

Как в С++11 узнать состояние потока?

Как в С++11 узнать состояние потока, то есть работает или нет такой-то поток?

 ,

sitev_ru
()

Как обновить Ubuntu Server с 12.04 до 14.04?

Перерыл интернет - не помогло. Не подскажет кто-нибудь правильный способ?

 

sitev_ru
()

Сломал libc.so.6

Всё очень плохо - сломал libc.so.6, теперь даже команда ls не работает... Это как-нибудь лечиться?

 

sitev_ru
()

RSS подписка на новые темы