• Можно ли с помощью LLVM соединять куски кода с разных языков?

    @Skapix
    jew on 1/8
    При использовании LLVM, как и при использовании других компиляторов, при связывании различных языков определённые проблемы. Первое о чём нужно помнить, каждый ЯП имеет свои типы данных и хранит их по-своему. Например в Python, String - это немного более сложная структура, чем указатель на строку. Другие языки ничего не знают об этой структуре и поэтому приходится писать связки языков. Также нужно соблюдать ABI вызовов. Думаю, вам следует смотреть в сторону Swig и Boost python. Связав оба языка программирования вы легко можете создать 1 исполняемый файл при помощи любого компилятора.
    Ответ написан
    Комментировать
  • Как правильно подключить Qt в CLion?

    @Skapix
    jew on 1/8
    Cmake не видит установленный вами qt, а точнее модуль QWidgets(который является частью qt). Вопрос в том как вы его устанавливали.
    Гайд по установке более-менее свежего Qt на Ubuntu: https://wiki.qt.io/Install_Qt_5_on_Ubuntu
    А вообще лучше установить через packet manager пакет qt5-default
    Ответ написан
    Комментировать
  • 1 процесс, 20 потоков, сколько ядер будет задействовано? Одно?

    @Skapix
    jew on 1/8
    Операционная система управляет потоками, а процессы нужны больше людям, как уровень абстракции. Если у потока (или родителя-процесса) не используется Processor affinity, то будут использоваться все доступные ядра. Какие ядра задействовать каким потоком решает операционная система.
    Думаю, что Google Chrome создаёт несколько процессов, чтобы при падении 1 вкладки, не упал весь бразуер.
    Ответ написан
    Комментировать
  • Лямбда Callback из Pthread?

    @Skapix
    jew on 1/8
    1) стоит инициализировать Arg: Arg* arg = new Arg;
    Не забудьте удалить его в конце использования ( как понимаю в threadFunction).
    2) Используйте std::function<void()> вместо c-style функции, чтобы избежать лишних проблем с удалением лямбды.
    Ответ написан
    2 комментария