• Как подключить в скомпилированный файл все зависимости?

    @res2001
    По моему libgcc_s_dw2-1.dll (и его пара *s_seh*) статически не включается в любом случае - их просто нет в статическом варианте (использую msys2 + mingw64). Пару лет назад с этим сталкивался.
    Сейчас под винду собираю с помощью msvc, там и cmake есть. mingw использую только как быструю проверку на собираемость в gcc. Плюсом - набор предупреждений msvc и gcc выдают разный.
    Правда постоянно приходится подстраиваться под ограничения для Си микросовтовского компилятора, т.к.нужен переносимый код, но уже привык.
  • Как выполнить скрипт для всех файлов?

    @res2001
    Roman,
    for %%i in (%*) do %~dp0magick "%i" -resize 480x272\! "%%i-psp.jpg"
  • Можно ли через bat файл изменить строки в текстовом файле?

    @res2001
    Luan, Вашу задачу без вышеперечисленных ограничений можно сделать на VBS или JS. Интерпретатор этих ЯП присутствует в винде из коробки: cscript.exe и wscript.exe
  • Можно ли через bat файл изменить строки в текстовом файле?

    @res2001
    Luan, Вот реализация на голом BAT, без сторонних средств:
    @echo off
    SetLocal EnableDelayedExpansion
    set "filename=1\1.txt"
    set "fileout=1\2.txt"
    set "findstr=111"
    set "replacestr=XYZ"
    1>nul 2>&1 del /f /q "%fileout%"
    for /f "usebackq tokens=* delims=" %%a in ("%filename%") do (
    	set "replace=%%a"
    	set "replace=!replace:%findstr%=%replacestr%!
    	echo.!replace!>>"%fileout%"
    )

    Правильно инициализируйте переменные:
    filename - обрабатываемый файл
    fileout - получаемый файл
    findstr - строка поиска
    replacestr - строка замены

    На счет ограничений:
    1.Во входном файле не должно содержаться спец.символов cmd.exe, а это целая пачка разных символов, например: !<>|&^ список не полный. Кроме спец.символов cmd.exe не любит всяких экзотических "не печатных" символов.
    Если в строке будут содержаться спец.символы, то скорее всего батник завершиться ошибкой. Но может и просто не корректно отработать. Это зависит от символа.
    2.Обработка файла производится построчно, разделитель строк стандартный для винды: CRLF. Юниксовый разделитель не прокатывает. Есть ограничение на длину одной строки, сходу не скажу какое именно - несколько килобайт.
    3.Батник, скорее всего, будет проглатывать пустые строки или несколько подряд идущих пустых строк.
    4.Если нужно менять русские символы, то кодировка обрабатываемого файла должна совпадать с кодировкой консоли. По умолчанию кодировка консоли cp866. Ее можно поменять на cp1251 с помощью команды chcp 1251. Команду можно добавить в батник второй строкой. Сам батник так же должен быть сохранен в "рабочей" кодировке. С UTF8 cmd.exe не дружит.
    5.точно есть что-то еще.

    PS: если вам для дела, то sed лучшее решение.
  • Какую дисковую полку купить?

    @res2001
    Игорь Кривинцов, Если отказоустойчивость ставиться как задача, то точно надо использовать SAN харнилище с двумя контроллерами. Так же нужно дублировать и сетевое оборудование. В общем дублируется все что можно, иначе любой не дублированный узел становиться единственной точкой отказа.
    Скорость - в общем случае чем больше дисков входит в 1 том рейда, тем выше скорость тома. Для полного счастья можно использовать SSD. Затык в скорости может быть и со стороны сети.
  • Как сделать выбор операционки при загрузке?

    @res2001
    stratosmi, Могут быть нюансы. Но никто не мешает и груб обновить.
  • Где найти литературу по дисковым массивам?

    @res2001
    RAID технология не новая. Можете начать с вики :-)
  • Какую дисковую полку купить?

    @res2001
    Что значит "еще лучше"? Скорость, отказоустойчивость? Чего конкретно вы хотите добиться модернизацией?
    FibreChannel - это не дисковая полка - это уже SAN хранилище. Тут же и iSCSI.
    Дисковая полка - это SAS/SATA.
  • Из-за чего режим адаптера 100, а не 1000?

    @res2001
    Jelass Teid, А в микротике не дают! Не хотите менять железо на сервере - меняйте микротик. Все просто.

    Теоретически может быть какая-то несовместимость у адаптеров сервера и микротика. Я такого уже давно не встречал, но тем не менее.
    Можно выяснить точную модель сетевого адаптера на сервере и поискать на буржуйских форумах о проблемах этого адаптера с микротиком. Если это "несовместимость" то что-нибудь найдется.

    Вообще ваша ситуация больше всего похожа на проблему с кабелем/соединением/контактом (в любом месте по всей цепочке от адаптера сервера до входа микротика). Но кабель, кажется, вы уже исключили.
  • Правовой вопрос по использованию установочного диска Windows?

    @res2001
    Странный вопрос.
    Если ответ нет, то это означает, что как только вы сделали установочную флэшку с помощью Windows Creation Tool, вас можно привлечь? Т.е. это такая подстава от Микрософт?
  • Как улучшить код в плане читаемости?

    @res2001
    pfemidi, В msvc даже С99 включить нельзя - его там просто нет. Стандартны С++ есть, а С нет. Максимум, что можно сделать - указать ключ /TC.
    VLA, threads.h не реализованы, complex.h реализован не полностью, наверное есть еще что-то. Микрософт особо не спешит поддерживать стандарты С.
  • Что делать если линковщик ругается на "неразрешённый внешний символ"?

    @res2001
    Gotenks, Не хватает еще какой-то библиотеки. Смотрите документацию по sfml что конкретно нужно подключить для этих функций.
  • Нужно ли открывать порт для TCP подключения?

    @res2001
    Степан Гервик, В вашем случае в параметрах TcpClient вы, скорее всего, должны указать адрес и порт сервера. Параметры со стороны клиента система выберет сама.
    Смотрите документацию по библиотеке, которую вы используете.
  • Нужно ли открывать порт для TCP подключения?

    @res2001
    Степан Гервик, Порт открывается в любом случае.
    Но есть разница между сервером и клиентом:
    Сервер: слушает порт на который должны подключаться клиенты, поэтому номер порта должен быть заранее известен как серверу так и клиентам (обычно это так), а так же в фаерволе этот порт должен быть открыт для входящих соединений и в NATе должен быть проброс на этот порт (если необходимо подключение из вне).

    Клиент: у клиента исходящее соединение, номер порта не важен, поэтому его обычно не указывают и он выбирается системой. В фаерволе, как правило, исходящие подключения разрешены по умолчанию. Пробрасывать что-то в NATе - не требуется.
  • Удаленное управление компьютером не занимая монитор?

    @res2001
    Юзал RDPWrap для этих целей - полет нормальный.
    Но надо понимать, что это нарушение лицензионного соглашения с микрософт.
  • В чем проблема TCP подключения?

    @res2001
    Степан Гервик, Т.е. это на сервере адрес 172.31.23.229?
    Тогда ищите способ настройки NAT в AWS, либо сделайте так, чтобы AWS выдал вашему серверу "белый" адрес, возможно это будет не бесплатно.
  • VS 2017, не может найти библиотеку при линковке?

    @res2001
    Gotenks, у вас не найдена kernel32.lib - это стандартная виндовая библиотека она должна быть доступна по умолчанию. Эта ошибка может говорить о том, что у вас криво установлена студия. Попробуйте ее переустановить/восстановить.

    Для сторонних библиотек (например для sfml) все таки надо указывать компилятору путь, чтоб он мог ее найти. В VS задать дополнительные каталоги для поиска библиотек можно в свойствах проекта: Linker->General->Additional Library Directories

    Другой вариант - у микрософта есть менеджер пакетов для MSVC (vcpkg) с его помощью можно устанавливать и собирать дополнительные библиотеки. Собранные библиотеки и заголовочные файлы будут сразу доступны компилятору. vcpkg управляется из командной строки, по умолчанию он не установлен. Сейчас в репозитории vcpkg доступно довольно много распространенных библиотек, в т.ч. и sfml.
  • И снова clang: Почему (при оптимизации) реализация на указателях получилась хуже чем с использованием оператора [ ]?

    @res2001
    MrBman, Зачем столько текста? Я знаю как работает постинкремент. В примере использовал его сознательно в целях заставить компилятор немного по другому построить цикл - это кстати вполне получилось. Но не обратил внимание, на то что из-за изменений результат работы функции стал не верным, о чем уже писал выше.
    Дальнейшее недопонимание возникло видимо из-за того что либо я плохо понял ваши пространные разъяснения, либо вы их написали не достаточно понятно, скорее всего оба фактора сыграли.
    Так что предлагаю тему закрыть :-)
  • В чем проблема TCP подключения?

    @res2001
    Степан Гервик, Надо было сразу об этом написать.
    Порт нужно пробрасывать на стороне слушающего сокета, т.е. на стороне сервера. На клиенте этого делать не нужно. IP адрес нужно проверять именно на сервере. На AWS у вас, скорее всего реальный адрес проверьте через настройки сети на сервере и сравните с 2ip.
  • В чем проблема TCP подключения?

    @res2001
    Степан Гервик, Это оно. Но это сильно зависит от производителя и модели роутера. Нужно искать мануал именно для своего роутера. Обычно на сайте производителя железки его можно легко найти.