c++.что делает этот код?

144
08 февраля 2018, 17:33

Здравствуйте,есть данный фрагмент кода,до конца не могу понять,что он выполняет.могли бы объяснить,что он делает? и есть ли возможность его переделать под линукс?используется библиотека windows.h

int main(int argc, char* argv[])
{
    DWORD pid;
    DWORD_PTR mask;
    HANDLE hProc;
    if (argc < 3)
    {
        printf("Usage: %s [PID] [AFFINITY]\n", argv[0]);
        return 0;
    }
    pid = atoi(argv[1]);
    mask = atoll(argv[2]);
    printf("PID=%u, MASK=%llu\n", pid, mask);
    hProc = OpenProcess(PROCESS_SET_INFORMATION, FALSE, pid);
    if (hProc == NULL)
    {
        printf("Error opening process, code=%u\n", GetLastError());
        return 0;
    }
    if (!SetProcessAffinityMask(hProc, mask))
    {
        printf("Error setting affinity, code=%u\n", GetLastError());
        return 0;
    }
    CloseHandle(hProc);
    printf("Affinity adjusted.\n");
    return 0;
}
Answer 1

Программа принимает 2 параметка - id процесса и маску ядер процессоров, на которых этот процесс должен выполняться. Она пытается установить эту маску для заданного процесса.

Консольный аналог вот этого действия из диспетчера задач:

  

READ ALSO
Что делает std::remove_reference_t?

Что делает std::remove_reference_t?

Применяю std::remove_reference_t для выделения памяти под тип указателя, те

152
Оповещение об ошибках

Оповещение об ошибках

Как включить подчеркивание ошибок красными волнистыми линиями в QT Creator?

180
Чем отличаются стандарты c++14 и gnu++14?

Чем отличаются стандарты c++14 и gnu++14?

Есть ли существенные отличия между двумя стандартами c++14 и gnu++14 (расширение GNU)? Имеет ли смысл для компиляции под линуксом придерживаться...

168
QT. Не работают стили в .qml файле

QT. Не работают стили в .qml файле

style подчеркивается красным и выбивает ошибку "Неверное название свойства style(M16)", хотя вроде бы все подключил, в документации так же все делается

184