Re[8]: Ещё насчёт выбора языка посоветуйте
От: FDSC Россия consp11.github.io блог
Дата: 13.01.20 17:45
Оценка:
Здравствуйте, ·, Вы писали:

·>На каком основании компилятор будет принимать решение, что некая функция с неким именем calculateHash может или не может писать в файлы?


Просмотрит все вызываемые функции. Они не вызывают функции, которые пишут в файл или в поток ввода-вывода, не вызывают прерываний и не пишут в порты ввода-вывода.


>Так в итоге в сколько-либо сложном проекте у тебя дойдёт до того, что программист будет говорить что все функции могут всё.


Не дойдёт. А если дойдёт, значит проект должен выбрасываться и переписываться заново. Когда все функции могут всё — это как раз не то, что нужно.

·>Так практически любой ЯП это уже умеет. Если в файле не написано "import java.io.*" то io никакого в данном файле быть не может. Немного сложнее, но элементарно делается. Динамическую подгрузку кода не считаем, её можно явно оключить, как правило.


Может быть вызов через рефлекшн и непосредственно в коде с полной квалификацией (в C#, по крайней мере).
Ну, опять же, в Java может и не получится. В других языках это не так просто.
Ну и потом, там могут быть алиасы какие-нибудь и т.п.


·>Счётчик ссылок это тривиальный вариант реализации сборщика мусора.


Ну это не сборщик мусора, это немного другое. Но да.


FDS>>либо специализированная система выделения памяти.

·>Тут проблема не в выделении, а в освобождении. Т.к. именно при освобождении надо занулять.

Систем освобождения памяти не бывает Только выделения.

·>Ну тогда просто — при завершении процесса занулить всю память.

не, это слишком долго. Вдруг процесс, всё же, упадёт?

> Интуиция подсказывает, что такое API должно предоставляться операционкой. А то утечёт что-нибудь в своп-файл, сработает какая-нибудь дефрагментация и нифига не занулится.


О таким API мне неизвестно. И в файл подкачки вполне утекает всё.
Чтобы не утекало, есть функция VirtualLock в WinAPI
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.