Pull to refresh
-14
-0.3
Василий Тунегов@tunegov

Пользователь

Send message
Я утверждаю, что СтрЗаменить транслируется в отдельный ОП-код на основании того, что писал в свое время декомпилятор 1С. Вот несколько ОП-кодов, включая №100:

Отдельный оп-код означает, что это встроенная функция языка, т.е. ее реализация находится в самой машинке языка. Но реализована она, как и остальные функции на обычном с++, по сути как любая библиотечная функция. Полный список встроеных функций языка Вы можете увидеть в справке.
А код в секции //DoSomething может влиять? Я уже больше 10 лет не брал в руки шашки Delphi, нужно по хорошему в дизассемблере смотреть что там происходит. Возможно оптимизации влияют на поведение.

По первой задаче, все может развалится если в параметр AExtraData засунуть ссылку на элемент из массива при условии что на него больше никто не ссылается. Например вызов AddDataToAll(DataArr[0]) уничтожит объект в DataArr[0] на первой итерации, а на второй мы можем развалиться (use after free).
Ну если допустить, что так (хеш берется от указателя), то объяснить почему можете?

habrahabr.ru/post/269359/#comment_8624505
Даже если внутри Remove не обращаются к состоянию Obj, а используют только указатель в качестве ключа, то в многопоточном приложении это может привести к проблемам. После вызова Obj.Free в коллекцию из другого потока могут успеть положить новый объект по этому же адресу.
В статье, я вижу, все четко написано
Бизнес-приложения, созданные с помощью технологий «1C: Предприятия» — это системы с открытым прикладным исходным кодом, написанным на проприетарном языке...

А open-source он разный бывает (из-за ньюансов в лицензиях)
1С Предприятие не предоставляет открытого кода, если хотите увидеть пример, смотрите на Unreal Engine 4, там не только в проектах исходники, но и самого движка.


Отнюдь. Типовые конфигурации от 1С идут с открытым кодом. Вы можете допиливать их по своему усмотрению. И в них как раз запрограммирована вся бизнес логика продукта. Что же касается самой платформы 1С: Предприятие, то это распространненая мировая практика — исходников от движков MS Axapta или SAP R3 вы тоже не найдете.
2

Information

Rating
Does not participate
Registered
Activity