Разработка на C/C++ под Slurm кластер на CentOS.
Почти весь универ кодил на C# под windows: многопоточные приложения, ASP.net, WPF, системное программирование с использованием библиотек с/с++ в шарпе через pInvoke. Есть небольшой опыт с С/С++ под windows и еще меньший под Linux. И тут в аспирантуре я сталкиваюсь со Slurm кластером с CentOS. И мне нужно заниматься разработкой на C/C++, MPI под Linux. Ни руководитель мой, по ряду причин, ни человек, что настройкой кластера занимается мне помочь не могут. Второй просто скорее всего не хочет и как я с разговоров с ним понял вообще особо не шарит. Гугл меня в этих вопросах завел в еще большую растерянность. Вот и обращаюсь к реакторчанинам. У меня складывается впечатление, что как-то оно все через одно место работает, но я наверное зажрался. Привык к visual studio и документации по с++/с# от майкрософта.
Сейчас я пользуюсь VS Code на windows для удаленной работы с кластером через ssh. Запуск и отладка как я понял только через терминал. Настроить отладку через VS Code у меня не получилось. Может что-то из отладчиков посоветуете? Когда я учил с++ под линукс, то использовал gdb. А что можно еще использовать и может более удобное для подобных систем? Терминал и отладка в нем конечно бесит после visual studio, но тут или я его или он меня. И так-как я знаю только азы в с/c++ и то не особо (из того что помню с таймерами работал, ассемблерными вставками и азами графики на первом и втором курсе универа), может что-то из книг посоветуете? Не хочу прям лютый говнокод писать. И вот лучше начинать изучать с С/С++ под линукс или под винду, но с поправкой на линукс? У кого есть опыт в данном направлении поделитесь чем пользуетесь для разработки. Слышал где-то, что можно заставить работать на подобной машине шарп с mpi, но имеет ли это смысл?
Глобально и если вкратце, то я должен написать моделирующую среду для динамических процессов. И как я понял мне придется совмещать разные языки. Тоже этой темы я еще не касался.
И как быть с документацией по С/С++ под линукс? man и им подобные юзать или документацию от майкрософт, но с поправкой на линукс?
Извиняюсь, за такие тупые вопросы. Просто это направление в котором я не шарю, но которое мне интересно и хочу разобраться.
Подробнее
КУПОН НА 1 помощь
пидоры помогите,реактор помоги,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,programming,программирование,линукс,Операционная система,песочница
Ты бы вот прямо четко по пунктам написал свои вопросы, а то так можно долго гадать.
Книг по С++ дофига, Страуструпа могу порекомендовать в первую очередь.
Нужно открыть файл? Гугли "open file linux c++". Сокет? - "open socket linux c++". Не знаю, что такого линуксово тебе может понадобится. Не апи же дёргать
https://www.jetbrains.com/clion/download/#section=windows
2) gdb дефолтовый вариант, если не нравится - тут тебе никто не посоветует, пробуй то, что удобнее, альтернатив прилично существует
3) где лучше искать инфу по с++ под линукс
Никто ж не знает твоих конкретных задач. Все базовые вопросы спокойно гуглится, как тебе ниже уже написали. А если есть что-то прям более специфическое, то тебе лучше спросить не тут, а на стаковерфлоу.
по книгам могу посоветовать следующие по С++17, все на английском
- Beginning C++17, 5th Edition, Ivor Horton, Peter Van Weert
- C++ 17 STL Cookbook, Jacek Galowicz
- Mastering C++17 STL, Arthur O'Dwyer
- Modern C++ Programming Cookbook, Marius Bancila
Читать можно (и вероятно нужно) в указанном порядке
Я, в свое время воспользовался, когда срочно плюсы понадобились, и мне сейчас для профессиональной деятельности хватает.
VSCode + расширение C++ - богоугодная хуйня. Есть ещё более богоугодное расширение - clangd language server, имхо, работает лучше, но это уже на любителя. Отладка на и запуск есть через VSCode, но там надо конфиг настроить, гугли. Ну и, надеюсь, ты знаешь про VSCode remote, когда ты подключаешься к удалённому компу.
Есть платный Clion, он очень пиздатый, имхо, круче VS. По началу может бомбить от написания CMake, но, проверь, это богоугодная хуйня, лучше, чем создавать и настраивать проект мышкой в VS. К тому же, проект на CMake собирается и запускается из консоли без этих ваших IDE, что и нужно для этих ваших кластеров. Ну имхо. Отладка тут удобнее, конфиг писать не надо.
Но так как MPI - это многопоточная распределенная система, и твой код будет запускаться на разных узлах кластера, то хуй тебе, а не отладка, пользы будет мало. Уверуй в священный printf.