Shakhzod
Создать папку build
mkdir build
Перейти в нее
cd build
Собрать cmake
cmake ..
Shakhzod
Потом без проблем можно удалить папку build
Михаил
Я не могу менять каталог. Нужно запустить cmake в винде через CreateProcess . Оно не понимает cd. Было бы неплохо исправить ситуацию, но не особо понятно как.
С cmake разобрался, нашел два флага H и B, позволяющих указывать папку для генерации файлов.
Vladislav
у CreateProcess есть аргумент lpCurrentDirectory
Михаил
А CreateProcess обернуто в другую функцию. Кажется нужно добавить разбор на && и обрабатывать cd в программе. Чтобы сделать логику как в линуксе.
Anonymous
Нужно запустить cmake в винде через CreateProcess . Оно не понимает cd.
😕😕😕🙈🙈🙈🙈
Anonymous
укажи директорию, от туда и будет идти запуск..
Михаил
У меня обертка для линукса и винды, она понимает только строку с командой(и переменные окружения).
Anonymous
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
Михаил
Обертка, чтобы в двух системах использовать одну функцию.
Anonymous
ссылку выше чекни
Михаил
В линуксе fork() и system(cmd).
Anonymous
Я не могу менять каталог. Нужно запустить cmake в винде через CreateProcess . Оно не понимает cd.
Anonymous
в чем проблема ?
Alexey
Setcwd кросплатформенная вроде?
Alexey
Ну или в винде дерни SetCurrentDirectory
Михаил
Проблема уже не особо актуальна. Проблема в том, что CreateProcess не понимает cd, вопрос, как его научить.
Anonymous
STARTUPINFOW si = {0};
PROCESS_INFORMATION pi= {0};
CreateProcessW(L"\\?\C:\Cmake\Cmake.exe", L"-config", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
Anonymous
дак этоже здорово
Anonymous
не зменяемая директория
Anonymous
просто добавь ее суда
Anonymous
CreateProcessW(L"Cmake.exe", L"-config", NULL, NULL, FALSE, 0, NULL, L"\\?\C:\Cmake", &si, &pi);
Anonymous
О бож
Anonymous
😆😆😆
Anonymous
Что за ужас
Anonymous
?
Alexey
А переменные окружения ты можешь выставить? Можешь попробовать выставить переменную CD
Anonymous
😕
Alexey
Чувак, а можно переписать обертку нормально? На винде позвать create process
Anonymous
😕😕😕
Anonymous
@afilipyev книжку чекнул?
Anonymous
😉😉😉
$continue$
Друзья, не подскажите как в запущенных процессах по хеш-сумме отловить запущена ли программа? (WinApi)
Anonymous
ахах
$continue$
И вообще возможно ли это?
Anonymous
снап тулл шот делать, перечислять процессы
получать путь до ехе шника чекать хеш сумму
Alexey
По хеш сумме чего? И почему именно по хеш сумме?
$continue$
Нужно точно знать, что запущенная именно эта программа
Anonymous
снап тулл шот делать, перечислять процессы
получать путь до ехе шника чекать хеш сумму
$continue$
Alexey
Михаил
Anonymous
ему же для сторонеей программы
Anonymous
да и мьютексы работают в контексте текущего пользователя
Anonymous
class AppCounter
{
public:
AppCounter(IN LPCTSTR szShareName, IN LPSECURITY_ATTRIBUTES pSA = NULL)
: m_pdwValue(NULL)
{
m_hMap = CreateFileMapping(INVALID_HANDLE_VALUE, pSA, PAGE_READWRITE, 0, sizeof(DWORD), szShareName);
if (m_hMap) m_pdwValue = LPDWORD(MapViewOfFile(m_hMap, FILE_MAP_WRITE, 0, 0, 0));
if (m_pdwValue) (*m_pdwValue)++;
}
virtual ~AppCounter()
{
if (m_pdwValue) { (*m_pdwValue)--; UnmapViewOfFile(m_pdwValue); }
if (m_hMap) CloseHandle(m_hMap);
}
BOOL OK() const { return m_pdwValue != NULL; }
DWORD GetValue() const { return OK() ? *m_pdwValue : 0; }
private:
HANDLE m_hMap;
LPDWORD m_pdwValue;
};
Anonymous
не мой код, сразу говорю..
Anonymous
чекает в контексте текущего пользователя
$continue$
Тут нет же хеша?
Или я не вижу его?
Ну по имени файла я уже смотрел как находить. Я понял, что надо все запущенные процессы найти, по ним цикл и еще путь до exe (от него хеш) и чекать хеш
Anonymous
ну там сразу будет хандле на ехе
Anonymous
так что можно не получать путь
Andrei
Братцы, кто с llvm знаком?
Andrei
:(
Sergey
везет тебе
Sergey
а какая задача?
Andrei
Задача?
Sergey
ну ты же не просто так спрашиваешь об llvm
Andrei
Задача написать оптимизирующий компилятор для одного языка, и это не то чтобы задача, а скорее работа.
Andrei
Интересует меня обращение с call и invoke инструкциями.
Sergey
а какой язык?
Andrei
Как передавать аргументы.
Andrei
Не столь важно, внутренний.
Sergey
Andrei
Также меня интересует есть ли проходы оптимизатора, где он выкидывает бранчи, которые статически известно что не задействуются, интересует меня насколько он умеет оптимизировать работу с массивами.
Andrei
Доки доками, но мне скорее best practices нужны
Sergey
Sergey
есть же clang
Andrei
Боюсь, что у меня задача с написанием убийцы с++, мне нужны дополнительные возможности по оптимизации.
Sergey
clang имеет множество оптимизаций
я думаю, лучший выбор, если уж пишешь убийцу плюсов, смотреть на реализацию плюсов.
Sergey
хотя идея немного странная)
Sergey
а не секрет кто заказчик этой работы?
Andrei
Кланг — это такой же фронтэнд. Оптимизации всё равно живут в llvm
Andrei
и осуществляются на уровне IR
Andrei
Боюсь ничего не скажет. Частное лицо :)
Sergey
эх