estluced, обычно всё же делают не так. У игры есть сборка в виде архива с версией в имени, и launcher при запуске запрашивает у сервера актуальную версию. Если локальная версия ниже серверной - архив скачивается и распаковывается. Если там много данных (текстуры там всякие, например), можно делить на части, например, отдельно код, отдельно данные, отдельно текстуры, отдельно звуки, отдельно фоновая музыка... И каждое может иметь свою версию, чтобы изменения кода не приводили к перекачиванию музыки.
ANYJT, условно говоря нет. Потому что "ось" как бы должна уметь управлять памятью, переключать процессы, общаться с периферией, да и процесс её загрузки из BIOS требует некоторых действий. Так что какое-то хотя бы небольшое количество ассемблерного кода для настоящей операционной системы необходимо. Ядро Linux в целом написано на C, но ассемблерные вставки там есть.
Можно разве что поиграться с какими-то общими принципами. Когда я учился, у нас была учебная задача реализовать файловую систему с некоторыми характеристиками и принципами (каждому студенту свой вариант дали), и там не требовалось писать модуль для ядра - достаточно было продемонстрировать хранение структур файловой системы в файле, работу с ними (создать, удалить, переименовать, работать с каталогами и всё такое). Для этого ассемблер, конечно не нужен.
А так-то да, программа на C представляет из себя исполняемый файл под текущую операционную систему (которую эта система умеет запускать, в том числе выполняя динамическое связывание), в хвост и в гриву использует интерфейсы текущей оси (например, printf в конце концов выполняет системный вызов, исполняемый ядром) и вообще не может без неё работать.
FanatPHP, проблема не столько в том, что хочет автор, проблема в том, как он это формулирует. Явно ведь в начале пути, вообще не в курсе, как и что работает, ну и спрашивает всякие странные вещи. Но говорить ему, что "пустых строк не должно быть", тоже может быть опасно. Он из этого может подумать, что NULL в элементах принципиально возбраняется. Вот есть NULL, а использовать нельзя. Или что нельзя создавать строки, заполненные лишь частично, с последующем дополнением данных.
Василий Банников, я начал писать в скобках пояснение к этому факту, но потом всё же решил убрать :) Так-то они много чего производили и производят, клавиатуры, например. Но мы же понимаем, что речь не об этом...
denny_cat, в реальном программировании никто не делает рекуррентные функции, которые не содержат начальных условий. Поэтому вопрос вообще непонятен, причём тут "новый подход"? Ну, например, функция fib для начальных значений будет возвращать результат явно, а не рекурсивным вызовом:
def fib(n:int):
assert n>=0
if n < 2: return 1
return fib(n-1)+fib(n-2)
FanatPHP, мы не знаем, что он пишет. Например, если он пишет онлайновый табличный редактор (а ля google sheets), то добавить пустую строку в таком сценарии может иметь смысл. Но, конечно, смысл добавлять строку с одним лишь только идентификатором встречается крайне редко, поэтому я и написал это как минимальное требование, а на практике чаще всего нужны и другие not null поля (например, имя/пароль и дата создания в таблице users).
Абрам Петерс, строка не должна быть полностью пустой. У неё должен быть как минимум уникальный идентификатор, чтобы отличать её от других строк и точно указывать в запросах на последующие изменения.
ivanivanov15122021, Microsoft, вообще говоря, не производит компы. Он производят софт. И лицензируют его использование. Зачем им лицензировать использование компов?
ANYJT, надо понимать, что ассемблер - это не такой язык, как другие. Это по сути прямые машинные инструкции, записанные текстовыми псевдонимами, и немного синтаксического сахара, чтобы не вычислять пальцем адреса участков памяти. Тут вместо IDE достаточно текстового редактора, можно даже с подсветской синтаксиса.
Сама сборка приложения - это вызов компилятора, а потом линковщика. С nasm я дела не имел, в своё время что-то писал на Turbo Assembler, там для этого использовались команды tasm и tlink. Беглое гугление показывает nasm+ld, вот пример https://cs.lmu.edu/~ray/notes/nasmtutorial/ , но, как и ожидалось, в Windows нужно линковать с помощью link, а не ld из binutils https://habr.com/ru/post/326078/
Тут предлагают Code::Blocks https://www.wikihow.com/Run-NASM-on-Windows Но в целом, как я сказал, IDE
для ассемблера не требуется. Можно использовать любой текстовый редактор (в том числе с возможностью вызова внешних команд, либо запускать сборку отдельным скриптом) или любую IDE общего назначения (типа vscode).
Помимо использования ассемблера для написания всей программы, можно использовать ассемблерные вставки в код на C или линковать написанные на ASM объектные файлы с кодом на других языках.
wasya_uk, это в целом плохая идея. Если вот прям очень надо из такого приложения запускать что-то внешнее, то веб-браузер для него не годится. Правильнее делать самостоятельное приложение (возможно, с помощью Electron). Но я бы начал с уточнения задачи. Может, там вообще сойдёт выполнять нужную функциональность на сервере.
mirindanda, это обычно делается не так. Не берём класс "кошка" и переопределяем в нём всё кошачье на всё собачье, а делаем базовый класс "животное" и от него потомки "кошка" и "собака".
В данном случае, видимо, в каждом потомке базового класса надо переопределить функцию kierroksen_voittaja (она, кстати, возврашает случайное число, а не проверяет длины слов, как указано в вопросе).
cout_HelloWorld_andl, обычно питонячие приложения для мобилок делают с помощью Kivy. Но результат получается так себе. Поиграться можно, сколько-нибудь серьёзные приложения нет.
ivanivanov15122021, у тебя есть лицензия какая именно? На какую систему? В каком виде? Какие у тебя есть документальные подтверждения права обладания этой лицензией? Просто так поставить её "куда-то" и считать "законной" по тому признаку, что она работает, вообще нельзя.
Microsoft вообще может игнорировать наличие 2-3 активаций одного ключа чисто из соображения экономии усилий - проще так, чем разгребать тысячи обращений в поддержку по поводу отвалившихся по любой причине активаций или сброса активации из-за смены какой-нить периферии.
Это абсолютно непредсказуемо. Даже сохранённое непосредственно в памяти содержимое памяти процесса может быть вымещено на диск. Особенно если память уже набита под завязку (и оперативная, и swap).
ivanivanov15122021, производитель купил OEM-лицензий на Windows для 10000 ноутбуков, а ещё 500 ноутбуков продал дешевле с предустановленной FreeDOS. Использовать эти OEM-лицензии на 10500 ноутбуках всё равно нельзя.
То, что оно работает, не создаёт факт правомочности такого действия.