Для Си-программиста (знание Lua приветствуется)
Существует компактный OpenSource скриптовый движок Lua
Необходимо исследовать его Си-исходники на предмет использования стандартных/сторонник библиотек и понять, почему одна версия существенно отличается от другой по размеру
Теперь предметно:
Версия 5.1.1 (32 *.с файла): http://www.lua.org/ftp/lua-5.1.1.tar.gz
Версия 5.1.5 (32 *.с файла): http://www.lua.org/ftp/lua-5.1.5.tar.gz
Версия 5.2.0 (34 *.с файла): http://www.lua.org/ftp/lua-5.2.0.tar.gz
Версия 5.2.3 (34 *.с файла): http://www.lua.org/ftp/lua-5.2.3.tar.gz
Размер библиотеки нужно мерить, предварительно скомпилировав её в Win32 Dll. Пожелание по компилятору - gcc, IDE - Code::Blocks. Если я ничего не путаю, то в опциях сборки есть возможность использовать Windows CRT. Так вот нужно компилировать без него.
Для начала нужно выбрать оптимальную версию среди 5.1.1 и 5.1.5, и оптимальную версию среди 5.2.0 и 5.2.3.
Если разница по размеру между 5.1.1 и 5.1.5 в пределах 5% - то берём старшую версию, иначе младшую.
С версиями 5.2.0 и 5.2.3 аналогично.
Разница по размеру между версиями 5.1 и 5.2, если не ошибаюсь - значительная, больше 100кб
Задача номер 1) - определить, чем именно вызвана такая огромная разница в размере
По результату исследования размера я выберу основную версию, и можно будет приступать к задаче номер 2) - исследовать какие стандартные/сторонние библиотеки include-ятся и какие там функции вызываются. Их должно быть немного, но они есть. Это работа с файлами (fopen, fread например), памятью (например malloc), консоль, OS-specific. На выходе хочу получить текстовое описание, желательно с указанием мест, где те или иные библиотеки инклюдятся, где те или иные функции вызываются.
Ещё несколько слов:
- для сравнения файлов я использую Beyond Compare. Если не знаете чем сравнивать файлы - используйте его
- я не думаю, что задача сложна. Для специалиста среднего уровня дня-двух хватит за глаза
- бюджет обговаривается
- данная задача - лишь исследование; Если сотрудничество интересно - будем модифицировать библиотеку, разумеется за отдельный бюджет