107 private void InitListenSocket () . , . * \fn void m_aTimer__E lapsed \brief Invoked by the timer : this.m_oTC } \param sender Sender object \param e Elapsed event arguments * Рис. 4.1.8 Свертка кода Как видно из вышеперечисленных возможностей, IDE полностью отвечает современным достижениям в области разработки инструментальных средств программирования и обладает необходимой функциональностью для эффективной работы пользователя СПО. 4.2.5. Механизм скриптового языка lua Язык lua является одним из самых удобных и гибких современных скриптовых языков. Несмотря на существование других языков, таких как Ruby и Icon , выбор был сделан именно в пользу lua по следующим причинам: 1. Широкое распространение и, как следствие, хорошая отлаженность программного кода, высокая надежность, проверенная на представительном множестве проектов. 2. Высокое быстродействие, небольшие системные требования, легкость интеграции, поддержка объектно-ориентированного программирования с помощью расширения Luabind. 3. Наличие открытого исходного кода. На lua можно создавать сложный код как программистам, так и специалистам, не обладающим глубокими знаниями в программировании. С помощью luabind происходит «связывание» кода lua с C# и C++ кодом. Так как luabind является неуправляемым участком кода (в будущем планируется перенести lua и luabind на управляемый код), при реализации взаимодействия задействован дополнительный класс-менеджер. Также для |
271 Как видно из вышеперечисленных возможностей, IDE полностью отвечает v современным достижениям в области разработки инструментальных средств программирования и обладает необходимой функциональностью для 9 эффективной работы пользователя СПО. 6.1.5. Механизм скриптового языка lua Язык lua является одним из самых удобных и гибких современных скриптовых языков. Несмотря на существование других языков, таких как Ruby и Icon, выбор был сделан именно в пользу lua по следующим причинам : 1. Широкое распространение и, как следствие, хорошая отлаженность программного кода, высокая надежность, проверенная на представительном множестве проектов. 9 2. Высокое быстродействие, небольшие системные требования, легкость интеграции, поддержка объектно-ориентированного программирования с помощью расширения Luabind. 3. Наличие открытого исходного кода. На lua можно создавать сложный код как программистам, так и специалистам, не обладающим глубокими знаниями в программировании. С помощью luabind происходит «связывание» кода lua с C# и C++ кодом. Так как luabind является неуправляемым участком кода (в будущем 9 планируется перенести lua и luabind на управляемый код), при реализации взаимодействия задействован дополнительный класс-менеджер. Также для избежания перемещения указателей объектов используется ключевое слово __pin для объявления экземпляров класса. После сборки проекта из lua-кода становится доступным глобальный класс dEngine и функции dot и другие. То есть можно вызвать конструктор и обращаться к полученной переменной как к классу. Ф Из основных возможностей luabind следует отметить • перегрузка free функций * • C++ классы в lua |