Stanislav
Алдар
если ты про то что я когда то топил за хаскель - тогда только начал изучать язык и был сильно воодушевлен. Да и интересно было как народ реагирует) Если задел твои чувства сорри
Алдар
Вообще эти языковые срачи конечно глуповато, но часто из них можно кое что подчерпнуть)
Stanislav
Алдар
:P прощаю
я правда не понял что ты сагрился, да еще джунами обзываешься
Алдар
не понимаю когда человека связывают с какой то технологией, переучиться можно всегда
Stanislav
Vladislav
я же говорил, наркоманы
Алдар
спать пора) а то нафлудили
Алдар
3 часа ночи
🦥Alex Fails
Утром почищу, короч. Сил вообще нет трогать чатики
🦥Alex Fails
Al
Язык - это только инструмент. Для каждой новой задачи выбирай новый наиболее подходящий язык, и изучай снуля. Это эффективно.
Вася и Петя одновременно начали писать один и тот же продукт.
Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру.
А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение.
Но Вася выпустил уже через месяц первую версию программы, пусть и не идеальную, пусть с багами, но рабочую, и начал её продавать. Ещё через месяц выпустил вторую версию исправляющие баги первой и добавляющие новые баги. Ещё через месяц на доходы от продаж нанял двух толковых программеров, которые за два месяца перелопатили весь код, согласно пожеланиям пользователей допилили интерфейс и выпустили третью версию программы.
Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов.
У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента.
В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам по пьяни разбился на своём новеньком Туареге
Vladislav
Andrei
Снуль — это объект изучения снулелогии.
Andrei
Снулелогия изучает снуля и его особенности.
Andrei
Вася и Петя одновременно начали писать один и тот же продукт.
Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру.
А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение.
Но Вася выпустил уже через месяц первую версию программы, пусть и не идеальную, пусть с багами, но рабочую, и начал её продавать. Ещё через месяц выпустил вторую версию исправляющие баги первой и добавляющие новые баги. Ещё через месяц на доходы от продаж нанял двух толковых программеров, которые за два месяца перелопатили весь код, согласно пожеланиям пользователей допилили интерфейс и выпустили третью версию программы.
Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов.
У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента.
В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам по пьяни разбился на своём новеньком Туареге
Паста тупая, конечно, но Васю не жалко.
Andrei
:DDD
Andrei
Выдуманная паста! Охуенный контрпример!
Gleb
Вася и Петя одновременно начали писать один и тот же продукт.
Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру.
А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение.
Но Вася выпустил уже через месяц первую версию программы, пусть и не идеальную, пусть с багами, но рабочую, и начал её продавать. Ещё через месяц выпустил вторую версию исправляющие баги первой и добавляющие новые баги. Ещё через месяц на доходы от продаж нанял двух толковых программеров, которые за два месяца перелопатили весь код, согласно пожеланиям пользователей допилили интерфейс и выпустили третью версию программы.
Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов.
У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента.
В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам по пьяни разбился на своём новеньком Туареге
Отчасти правда. Маркетолог может начинать работать и бегать по инвесторам когда еще девелоперов не наняли.
Vladislav
Vladislav
Pepe 🐸
Pepe 🐸
Вася в ученом мире имеет вес
Artem
I Do Not Know C: Short quiz on undefined behavior (Score: 100+)
Link: http://j.mp/2lefMtf
$continue$
Есть тут люди, которые с gtkmm?
А именно интерфейс создавали через glade.
Michael
кто знает бесплатный конвертер xps в pdf, чтоб не создавал виртуальный принтер и был как отдельная dll ?
Nikita
🦥Alex Fails
Это не то
Michael
первым делом что делаю ищу в гугле)
Michael
спасибо
IharOK
Доброго времени суток! Быть может кто подскажет рабочий вариант профайлера для Qt Creator с графиками и прочими ништяками наподобие оного в Visual Studio, ммм?
Sheridan
Stanislav
Stanislav
господа виндузятники, есть такой код
this_lib = GetModuleHandleA("thisi_is.dll");
GetModuleFileNameA(this_lib, this_lib_name, MAX_PATH);
Logger::instance().WindowsError("GetModuleFileName");
возрващает ошибку ERROR_INVALID_HANDLE
Stanislav
Stanislav
Dogma
IharOK
Валгринд
да, благодарю, такой знаю, на линукс ставил, но я работаю чаще на винде. Прошу прощения, что сразу не указал платформу!
IharOK
IharOK
на работе пробовал с помощью intel seapi, пока все собралось, ошибок линковки не было. буду пробовать создавать отчеты по функциям и на каком GraphViz смотреть результаты
IharOK
а вот и статейка, если вдруг кому понадобится #qt #profiler https://m.habrahabr.ru/post/276607/
Artem
Когда я писал на плюсах под винду (довольно давно) мы пользовались профайлером verysleepy, он простой и удобный, но возможно не умеет чего-то, что нужно
IharOK
George
Ребят, куда телеграмку послать с вакансией С++ в Москве? Тут можно оставлять объявления?
серёжа
Было бы неплохо где-нибудь типа вот такой темы сделать, конечно
https://www.reddit.com/r/cpp/comments/5lflfj/whos_hiring_c_devs_q1_2017
🦥Alex Fails
Stanislav
пора за ссылки на вакансии денег брать))
серёжа
pinnokio
Я наверное сейчас спрошу/скажу странные штуки... почему вакансия вся на русском кроме заголовков? Требования "Знание английского" нет, а заголовки есть. И поправьте опечатку: я уже 11-12 лет на дебиане, там нету "командной строки linus".
Vladislav
вот вы на человека накинулись, а ведь он даже разрешение запостить спросил
Stanislav
Anonymous
Anonymous
Линус, фак мой мозг
Anonymous
GetModuleFileName и GetModuleFileNameA вещи тоже разные, так что способ ловить ошибку мне не особо понятен. для этого есть GetLastError()
Stanislav
this_lib = GetModuleHandleA("my_dll.dll");
memset(this_lib_name, 0, MAX_PATH * sizeof(char));
memset(this_lib_name_long, 0, MAX_PATH * sizeof(char));
GetModuleFileNameA(this_lib, this_lib_name, MAX_PATH);
Logger::instance().WindowsError("GetModuleFileName");
DWORD length = GetLongPathNameA(this_lib_name, this_lib_name_long, MAX_PATH);
PathRemoveFileSpecA(this_lib_name_long);
StringCchCopyA(my_dll, MAX_PATH, this_lib_name_long);
StringCchCatA(my_dll, MAX_PATH, "\\");
StringCchCatA(my_dll, MAX_PATH, filename);
Logger::instance().info(fmt::format("Module filename: {}", this_lib_name_long));
Logger::instance().info(fmt::format("my_dll filename: {}", my_dll));
Stanislav
вот так
Stanislav
Stanislav
Logger::instance().WindowsError("GetModuleFileName");
ок пох, в этой строчке может писать 183 ошибку, не хватает памяти, увеличваешь буфер, ошибка хэндла
Anonymous
'''
if ((this_lib = GetModuleHandleA("my_dll.dll")) != INVALID_HANDLE)
GetModuleFileNameA(this_lib, this_lib_name, MAX_PATH);
'''
Stanislav
Stanislav
только в логах не бардак
Anonymous
смотри, если ты получаешь от GetModuleHandleA - INVALID_HANDLE_VALUE
Anonymous
то дальше нет смысла
Stanislav
еще раз, оно работает, вопрос то как раз почему оно работает и почему ошибка
Anonymous
я полагаю у тебя не порядок с логами, если всё работает
Anonymous
попробуй отловить через GetLastError()
Anonymous
в нужном месте
Stanislav
Stanislav
void WindowsError(const char* lpszFunction)
{
// Retrieve the system error message for the last-error code
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
if (dw == ERROR_SUCCESS)
return;
FormatMessageA(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPSTR)&lpMsgBuf,
0, NULL);
// Display the error message and exit the process
std::string message;
Utils::Convert::charToOem((LPSTR)lpMsgBuf, message);
error(fmt::format("{} failed with error {}: {}", lpszFunction, dw, message));
LocalFree(lpMsgBuf);
}