SDCC Lib Splitter

Системный софт

Postby TS-Labs » Fri, 23.06.2017 06:55:12

https://github.com/tslabs/zx-evo/tree/m ... -lib-split

Смысл утилиты в том, чтоб разрезать *.С сорец на отдельные файлы, каждый из которых содержит функцию или массив. Дело в том, что SDCC при компиляции из либы копирует весь код, содержавшийся в исходном модуле компиляции, даже если функция или константный массив никем не используются. Поэтому имеет смысл создавать либу, где каждая функция будет лежать в отдельном блоке.

В каждом файле дублируются #include "...", если таковые были задетекчены по ходу сорца.

Парсер синтаксиса сделан тупейшим образом, поэтому возможны сюрпризы.

Пример батника для создания либы:
Code: Select all
sdcc-lib-split.exe ft812dl.c   >>lib.lst
sdcc-lib-split.exe ft812func.c >>lib.lst
sdcc-lib-split.exe ft812math.c >>lib.lst

for /f %%i in (lib.lst) do (
  echo %%i
  sdcc -mz80 --std-sdcc11 --opt-code-speed -c %%i -o %%i.rel
  sdcclib ft812.lib %%i.rel
)
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Return to Utilities

Who is online

Users browsing this forum: No registered users and 1 guest

x