так если так просто можно взять загрузчик от аналогичного устройства (с таким же процессором), то зачем такое их многообразие?так если так просто можно взять загрузчик от аналогичного устройства (с таким же процессором), то зачем такое их многообразие?
Никто и не говорит, что он заведется, но попробовать можно.
У процессора много настраиваемых параметров. Настройки проца завися от его использования на конкретной плате. Соответственно загрузчик пилится для платы и проводит первичную настройку процессора под используемое на плате оборудование.
Если совпадет процессор, размер и частота памяти, то большая вероятность, что загрузчик от другой платы заведется, но что-то может не работать.
Скорее всего тут используется загрузчик u-boot. Он предоставляется в исходниках и его можно собрать самостоятельно. В его коллекции есть много поддерживаемых плат и процессоров. Возможно вам повезет и ваша плата входит в состав u-boot, тогда вы можете просто собрать вручную загрузчик. Но никто не мешает производителю закрыть свой код для конкретной платы и предоставлять загрузчик в собранном виде.
Судя по всему это можно указывать как параметр в командной строке. Возможно есть конфигурационный файл, куда это можно вписать.
Никогда не использовал это ПО.
Ontroverso, Нормально работает. Прямо сейчас пользуюсь такой виндой. Вообще на всех своих компах с виндой профили настраиваю таким способом уже лет 15.
Да глюк, который вы описываете имеет место быть еще со времен Win10. Но он легко лечится парой команд в powershell, правда найти эту пару команд мне сходу не удалось :) ну просто сейчас мне это крайне редко нужно и под рукой их не оказалось. К слову, последние несколько раз, когда ставил Вин11 этого глюка не было.
Этот процесс порожден exe файлом FastExecuteScript.exe
Подозреваю, что процесс не порожден этим exeшником, а это он и есть.
Просто Magneto - это может быть заголовок окна, или какое-то описание например, в общем - это что-то что отображает TaskManager в своем списке.
Посмотрите в TaskManager на закладке Details в поле Name что у вашего процесса написано? Вот это и будет возвращать tasklist и по этой строке и надо искать.
Лезть внутрь батника и смотреть, что там вызывает ошибку.
Обычно можно включить отображение выполняемых команд, тогда в консоли будет видна команда, вызвавшая ошибку (но и остальные команды то же будет видно, так что может быть портянка длинная). Сделать это можно закоментировав команду echo off, обычно ее вызывают где-то в самом начале, чтоб отключить это поведение сразу.
Как вариант, посмотреть содержимое config/connect-distributed.properties - нет ли там каких-то слишком длинных строк. В cmd есть ограничение на длину командной строки. Вроде бы 4Кб, но это не точно.
CLion - это не компилятор, это IDE.
Как правило у IDE нет своего компилятора, она использует тот что установлен в систему.
Но бывают и варианты, например MSVS поставляется со своим компилятором.
CLion для сборки использует cmake. cmake - это система сборки, то же отдельный инструмент, никак не завязаный ни на компилятор ни тем более на IDE. cmake выполняет файлы cmakelists.txt и запускает компилятор. cmake из коробки умеет использовать все широко распространенные компиляторы и под разные платформы. Он сам ищет установленный в систему компилятор и настраивает проект под него.
Если у вас линукс, то скорее всего компилятор это или gcc или clang,
Под виндой это может быть и микрософтовский компилятор или mingw (он же gcc) или тот же clang.
kan3k1k3n, В командную строку.
Я не знаю чем и как вы собираете, привел пример для компилятора GCC и командной строки. У вас может быть другой компилятор, но суть от этого не меняется.
Раз возник подобный вопрос, то собираете вы, очевидно, с помощью какой-то IDE, которая уже вызывает компилятор самостоятельно.
Суть ответа состоит в том, что в первом случае не нужно отдельно собирать function1.c.
Как вы этого добьетесь в вашей IDE я не в курсе. Можно просто исключить этот файл из проекта, но оставить его в каталоге рядом с main.c. Или каким-то другим образом сказать IDE, чтоб она не собирала этот файл.
Обычно по умолчанию, IDE включает в сборку все файлы исходного кода в проекте. Чтоб изменить это поведение, нужны какие-то дополнительные настройки. Какие именно - зависит от конкретной IDE.
Михаил Компас, Похоже, что и в прошлом варианте цикла, где выполнялась type, то же не получалось прочитать файл. Ситуация такая, что файловая система уже файл видит, поэтому if exist возвращает true, но файл все еще захвачен. выполняющимся параллельным процессом и прочитать вы его не можете.
Нужно менять схему поиска. Думаю, что придется делать ручной обход подкаталогов с поиском в каждом нужного файла, с вычислением оставшегося времени, например, после поиска в очередном каталоге.
Rise, Добавляйте пути в пользовательский, система сама их объединит.
Но надо именно добавлять: прочитать, добавить, записать.
Может вам подумать над тем, чтобы указывать полный путь?
Или, например, если вы запускаете программы скриптами, то внутри скрипта можно сформировать свою локальную переменную PATH с нужными путями.
Rise, Нет. setx это утилита командной строки (а не команда cmd). Смотрите setx /?
Переменные окружения в винде хранятся в реестре: https://stackoverflow.com/questions/573817/where-a...
Править реестр то же можно стандартными виндовыми командами:
tspstudio, Обычно библиотеки подключают опциями компилятора, а не прагмами. Опции -L -l -I. Прагмами то же никто не запрещает, но это такой специфический вариант и, по моему, он не переносим.
Но тут похоже на то, что у вас не включен в сборку Window.cpp - именно там определен символ Window::window.
Проверьте командную строку сборки, которую показывает студия, там должны быть все 3 ваших cpp файла.
В этой части, кстати, С++ мало отличается от Си, разве что манглинг имен в объектных файлах может сбивать с толку.
В runtime уже нет единиц трансляции. Там есть секции, точнее секции есть в исполняемом файле, а в runtime уже по сути и их нет.
Обычно весь код находится в одной секции .text, инициализированные данные в секции .data, не инициализированные данные в .bss, константы в .rodata.
Загрузчик ОС помещает секции из исполняемого файла в разных блоках памяти с разными свойствами (например для text разрешено выполнение кода, для остальных нет, rodata - только для чтения).
Все загружается в память еще до старта первой команды программы.
1. Функции cubeX не перегруженные
2. В Си нет перегрузки, такой же как в плюсах. Уберите Си из тегов (к тому же и код представлен плюсовый, а не сишный). В Си можно сделать аналог перегрузки, используя макрос _Generic. Но _Generic не поддерживается С++.
3. Ваши функции cudeX должны возвращать значение, но в случае не выполнения условия никакое значение не возвращается - это ошибка компиляции.
RoffDaniel, Я не использовал pfSense, но openvpn он везде openvpn.
ЛВС у вас имеет адрес сети 10.15.0.0/16?
При подключении клиента к ВПН с такими настройками на стороне клиента появляется маршрут к сети 10.15.0.0?
RoffDaniel, Вы используете NAT или маршрутизацию? Вам тут логично использовать маршрутизацию.
В таком случае после подключения клиента на нем должен быть маршрут к сети за сервером. Проверьте это с помощью route print например.
Кроме того фаерволы на клиенте, на шлюзе и на компах в сети должны пропускать ВПН пакеты.
Никто и не говорит, что он заведется, но попробовать можно.
У процессора много настраиваемых параметров. Настройки проца завися от его использования на конкретной плате. Соответственно загрузчик пилится для платы и проводит первичную настройку процессора под используемое на плате оборудование.
Если совпадет процессор, размер и частота памяти, то большая вероятность, что загрузчик от другой платы заведется, но что-то может не работать.
Скорее всего тут используется загрузчик u-boot. Он предоставляется в исходниках и его можно собрать самостоятельно. В его коллекции есть много поддерживаемых плат и процессоров. Возможно вам повезет и ваша плата входит в состав u-boot, тогда вы можете просто собрать вручную загрузчик. Но никто не мешает производителю закрыть свой код для конкретной платы и предоставлять загрузчик в собранном виде.