Thu Jun 15 2006 04:26, Michael Zaichenko wrote to Jurgis Armanavichius:
MZ> Еще надо согласно выбраной модели памяти и особенностей MZ> железа расписать линкеру где сидят какие сегменты. MZ> Вот кусок ликерного файла из живого проекта MZ> ... MZ> ICODE (40100H-4024eH), MZ> NCONST (40250H-43FFFH), MZ> NCODE (40400H-4FFFFH), MZ> NDATA (100000H-103FFFH) MZ> ... Мне бы ваши проблемы. Вот кусок линкерного файла. Догадайтесь, что здесь для чего. И в таком же духе еще примерно 15 килобайт. Устанавливаются и проверяются какие-то левые переменные, и прочая, и прочая. Единственное, что мне нравится - это фирменное расширение файлов *.dlb
#ifdef __WORKAROUNDS_ENABLED #ifdef __ADI_LIBEH__ #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532y.dlb, libx532y.dlb, libcpp532yx.dlb, libcpprt532yx.dlb, FPLIBS, libetsi532.dlb, libssl532y.dlb, libdrv532y.dlb, OMEGA #else #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532y.dlb, libx532y.dlb, libcpp532y.dlb, libcpprt532y.dlb, FPLIBS, libetsi532.dlb, libssl532y.dlb, libdrv532y.dlb, OMEGA #endif #else #ifdef __ADI_LIBEH__ #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532.dlb, libx532.dlb, libcpp532x.dlb, libcpprt532x.dlb, FPLIBS, libetsi532.dlb, libssl532.dlb, libdrv532.dlb, OMEGA #else #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532.dlb, libx532.dlb, libcpp532.dlb, libcpprt532.dlb, FPLIBS, libetsi532.dlb, libssl532.dlb, libdrv532.dlb, OMEGA #endif /* } */ #endif /* } */ #if defined(USE_FILEIO) || defined(USE_PROFGUIDE) #ifdef __WORKAROUNDS_ENABLED /* { */ $LIBRARIES = LIBS, librt_fileio532y.dlb; #else $LIBRARIES = LIBS, librt_fileio532.dlb; #endif /* } */ #else #ifdef __WORKAROUNDS_ENABLED /* { */ $LIBRARIES = LIBS, librt532y.dlb; #else $LIBRARIES = LIBS, librt532.dlb; #endif /* } */ #endif /* } */
VLV
"Клянусь всем тем, во что когда-либо верили дураки" (c) Вальтер Скотт