Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3939985#p3939985"]Уж чей-то очень моного...[/uquote]
разница в 4 байта, с учетом что это ардуино, смешно. А ведь все не хуже все чем на ассемблере (весь листинг):
Спойлер

Код: Выделить всё

00000000 <__vectors>:
   0:	0a c0       	rjmp	.+20     	; 0x16 <__ctors_end>
   2:	11 c0       	rjmp	.+34     	; 0x26 <__bad_interrupt>
   4:	10 c0       	rjmp	.+32     	; 0x26 <__bad_interrupt>
   6:	0f c0       	rjmp	.+30     	; 0x26 <__bad_interrupt>
   8:	0e c0       	rjmp	.+28     	; 0x26 <__bad_interrupt>
   a:	0d c0       	rjmp	.+26     	; 0x26 <__bad_interrupt>
   c:	0c c0       	rjmp	.+24     	; 0x26 <__bad_interrupt>
   e:	0b c0       	rjmp	.+22     	; 0x26 <__bad_interrupt>
  10:	0a c0       	rjmp	.+20     	; 0x26 <__bad_interrupt>
  12:	09 c0       	rjmp	.+18     	; 0x26 <__bad_interrupt>
  14:	08 c0       	rjmp	.+16     	; 0x26 <__bad_interrupt>

00000016 <__ctors_end>:
  16:	11 27       	eor	r17, r17
  18:	1f bf       	out	0x3f, r17	; 63
  1a:	cf e5       	ldi	r28, 0x5F	; 95
  1c:	d0 e0       	ldi	r29, 0x00	; 0
  1e:	de bf       	out	0x3e, r29	; 62
  20:	cd bf       	out	0x3d, r28	; 61
  22:	02 d0       	rcall	.+4      	; 0x28 <main>
  24:	0c c0       	rjmp	.+24     	; 0x3e <_exit>

00000026 <__bad_interrupt>:
  26:	ec cf       	rjmp	.-40     	; 0x0 <__vectors>

00000028 <main>:
#include <avr/io.h>
#include <stdint.h>

int main (void) {
  DDRB = 1;                       // PB0 as an output
  28:	41 e0       	ldi	r20, 0x01	; 1
  2a:	41 b9       	out	0x01, r20	; 1
  TCCR0A = 1<<COM0A0 | 0<<WGM00;  // Toggle OC0A, CTC mode
  2c:	40 e4       	ldi	r20, 0x40	; 64
  2e:	4e bd       	out	0x2e, r20	; 46
  TCCR0B = 1<<WGM02 | 3<<CS00;    // CTC mode; use OCR0A; /64
  30:	4b e0       	ldi	r20, 0x0B	; 11
  32:	4d bd       	out	0x2d, r20	; 45
  OCR0A = 15624;                  // 1 second; ie 0.5Hz
  34:	48 e0       	ldi	r20, 0x08	; 8
  36:	5d e3       	ldi	r21, 0x3D	; 61
  38:	57 bd       	out	0x27, r21	; 39
  3a:	46 bd       	out	0x26, r20	; 38
  3c:	ff cf       	rjmp	.-2      	; 0x3c <__CCP__>

0000003e <_exit>:
  3e:	f8 94       	cli

00000040 <__stop_program>:
  40:	ff cf       	rjmp	.-2      	; 0x40 <__stop_program>
да поначалу совсем немного излишков есть, но это ж С++ - он так думает. Дальше размер уже от пограмиста уже будет зависеть. Зато например математика на Цэ намного нагляднее и проще.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Какой там "всего 4"?!
Разница гораздо больше - ведь у проекта под адуринкой всего-то конфигурация таймера на досчет до 0,5 секунды и АППАРАТНЫЙ ногодрыг ЕДИНСТВЕННО ВОЗМОЖНОГО ВЫВОДА. (Аппаратные преимущества соответствующего МК явные).
А в моем варианте из-за 8 разрядной организации таймера (специфика аппаратной начинки тиньки13й) и счетчик досчета и обработчик прерывания и дополнительный "хвост" для обеспечения программно селектируемого "ногодрыга".
Так что заведомо избыточный код добавлен.
И то разница в 4 байта.
А Ёжли бы полное соответствие (допустим с 2313 на Т1) то вряд-ли уже можно говорить о "малом размере"...
8)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Цифры же озвучены 66-62=4. :)))
Сравнивать надо одинаковые действующие программы на одинаковом МК.
Листинг же привел - да это чисто на ассемблере можно подсократить, но не много. В дальнейшем оверхеда скорее не будет. Компилятор еще можно поуговаривать, типа векторы выкинуть и др.
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

УВЫ... тиньки 10й у меня нету(в том числе и проработки документации по причине перспектив применения).
Так что речь может идти только об аналогии.
:(
Одначе и при том - там всего-то установить режимы таймера и запуск отсчета при остальных функциях на основе аппаратной составляющей - и 66 байт (33 команды)?...
Это явно перебор...
8)
Так что при всем уважении, но ассемблер таки остается базовым языком программирования для прикладных устройств простой периферии. А уже далее комплект из комбинированного применения как периферийных интерфейсных СБИС на основе МК под ассемблером/ЯВУ, так и более крупных МК/систем на кристалле под ЯВУ.
Соответственно и подготовка материала для ассемблера заметно более затратная - но там компенсация за счет применения небольшого арсенала хорошо проработанных представителей различных семейств для разнообразных прикладушек.
В случае с ЯВУ затрат времени на проработку документации МК заметно меньше, но "абсолютная власть" над ресурсами становится более "заморочной" - но под ЯВУ этого в большинстве случаев и не требуется.
:beer:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3940396#p3940396"]Одначе и при том - там всего-то установить режимы таймера и запуск отсчета при остальных функциях на основе аппаратной составляющей - и 66 байт (33 команды)?...
Это явно перебор...[/uquote]
слова много, перебор - непрофессионально :shock:
тини10 живая не нужна - создаем проект в древней аврстудии 4.19, быстренько пишем тот же функционал:
Спойлер

Код: Выделить всё

.device ATtiny10
.include "tn10def.inc"
;           +====+
;  PWMA/PB0 |*   | PB3 (RESET)
;       GND |    | Vcc
;  PWMB/PB1 |    | PB2 (CLKO)
;           +====+

.DSEG

AL:  	.BYTE 1
BL:  	.BYTE 1
flags:	.BYTE 1

.CSEG
.org 0
;Interrupt vector table
	rjmp reset			; All Resets	
	reti				; External Interrupt R.equuest 0
	reti				; Pin Change Interrupt R.equuest 0
	reti				; Timer/Counter0 Input Capture
	reti			 	; Timer/Counter0 Overflow
	reti				; Timer/Counter0 Compare Match A
	reti				; Timer/Counter0 Compare Match B
	reti				; Analog Comparator
	reti				; Watchdog Time-out
	reti				; VCC Voltage Level Monitor
	reti				; ADC Conversion Complete

reset:
; Set Stack Pointer (SP)
	ldi r16, 0x00
	out SPH, r16
	ldi r16, 0x5F
	out SPL, r16
; Set clock to 4MHz
	ldi	r16, 0xD8		; Unprotect CLKPSR reg
	out	CCP, r16
	ldi	r16, 1			; Divide by 2
	out	CLKPSR, r16
; Calibrate Oscillator
	ldi r16, 0xA3		; ATTiny10 Value
	out OSCCAL, r16
; Setup I/O Port
	ldi r16, 0x02		; PB1 are outputs
	out DDRB, r16
;  TCCR0A = 1<<COM0A0 | 0<<WGM00;  // Toggle OC0A, CTC mode
    ldi   r20, 0x40   
    out   0x2e, r20   
;  TCCR0B = 1<<WGM02 | 3<<CS00;    // CTC mode; use OCR0A; /64
    ldi   r20, 0x0B   
    out   0x2d, r20   
;  OCR0A = 15624;                  // 1 second; ie 0.5Hz
    ldi   r20, 0x08   
    ldi   r21, 0x3D   
    out   0x27, r21   
    out   0x26, r20   
loop:
    rjmp   loop

Код: Выделить всё

---------------------------------------------------------------
ATtiny10 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x000040     64      0     64    1024   6.3%
[.dseg] 0x000040 0x000060      0      3      3      32   9.4%
[.eseg] 0x000000 0x000000      0      0      0       0      -
Assembly complete, 0 errors. 0 warnings
уже разница 2 байта - это много или перебор :)))
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Вопрос в том, что при отсутствии перспектив проработка техдокументации для аттини10 не выполнялась - а без таковой я только предполагать могу (или "на скору руку" чего нашкрябать по беглому взгляду на даташит, рискуя ошибок наделать).
8)
Зачем собственно в программе из Вашего последнего примера :
1. Запись ВСЕХ векторов прерываний вместо необходимого только по RESET? (ни единое прерывание по умолчанию НЕ ИСПОЛЬЗУЕТСЯ);
2. Установка значения регистра указателя стека (спорно ибо в большинстве АВР выполняется автоматически при подаче питания - надо вчитываться в даташит и ерраты);
3. переустановка штатной частоты системного генератора (в большинстве АВР базовая частота устанавливается по умолчанию автоматически);
4 соответственно и загрузка нового значения калибровки.
Ведь даже для тиньки 13й вполне реально получение удобоваримого значения опорной сетки частот на 8-разрядном таймере с предделителем... А тут 16 разрядный таймер...
???
:shock:

Воть и излишние байты явно проявились.
Это для дополнительного садомазохизьму что-ли?
:wink:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Наш диалог напоминает из известного фильма поиск в магазине коня - "а нет ли такого, но без крыльев", а конь вообще снимался еще в других фильмах (с крыльями).
а смысл выжимать лишние байты - редко возникает задача где есть борьба за последний байт
http://we.easyelectronics.ru/Asticon/is ... bayta.html
ну даже 30 байт мы сэкономим упираясь и потея на ассемблере, ведь задачи для тини10 обычно совсем крохотные (фонарики, моргалки, моторчики) и если их могут решать ардуинщики в ихней среде - кусок хлеба у ассемблерщиков уже отобран (кыш на пенсион). Об этом была речь. Ардуинщик, если упрется - может и тини25/45/85 взять и в дамки :)
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

И это говорит МАТЕРЫЙ КОТ...
:facepalm:
ПЕЧАЛЬКА.
8)
Я наоборот указываю на то, что ресурс ассемблера если и исчерпан (недостаточно времени/средств для СТАРОГО КОТА), то исключительно или в отношении ARM(система-на-кристалле) или в отношении абсолютно новых семейств, что могут в перспективе появиться.
Да и направление "смешанных проектов" с применением самодельных СБИС практически никем не занято.
:wink:
Ардуинщики тоже с разным подходом имеются - различаем "школярство" и профи-разработку.
Тут надо попытаться нечто среднее поднять - как минимум "продвинутый пользователь" с навыками самостоятельного написания программ "с нуля" при использовании минимума из средств "штатного референса".
Столь жесткие рамки обусловлены наличием в платформах IDE не только АВР МК, но и иных семейств.
Да кому-то все-таки придется и в "потроха" самой IDE залезть, чтоб на надлежащем уровне противостоять "школярству".
8)
ЭЭххх... последний КОТ (oleg110592) школярам от адуринки сдался!
:tea:
:wink:

Пы.Сы.
У мня такое видение перспектив было лет с 10-15 тому назад.
Благополучно прошло по мере "перехода на иной уровень" - с которым и адуринья благополучно вписалась (минуя промежуточный Си). Правда таки приходится "пропущенный материал" по мере возникновения вопросов поднимать/перелопачивать.
:beer:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3940995#p3940995"]ПЕЧАЛЬКА[/uquote]
лучше горькая правда, чем сладкая ложь.
Вот и на святую тини13 ардуинщики замахнулись
https://github.com/MCUdude/MicroCore
3 дня назад подновляли - значит востребовано
поддерживает различные тактовые частоты
9.6 MHz internal oscillator (default)
4.8 MHz internal oscillator
1.2 MHz internal oscillator
600 kHz internal oscillator *
128 kHz internal watchdog oscillator *
с калибровкой !
20 MHz external oscillator
16 MHz external oscillator
12 MHz external oscillator
8 MHz external oscillator
1 MHz external oscillator
оптимизация LTO и согласно заветам батьки Атмеля AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers.
UART library, которого вроде насколько помню аппаратно нету
и т.д.
з.ы. а вы продолжайте заниматься "самовиденьем перспектив"
OKF
Это не хвост, это антенна
Сообщения: 1430
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

Не замахнулись, а давно используют.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Даже интересно, что там в 13й тиньке LTOшить можно?! Но в целом прогресс ардуины налицо: и 10 лет не прошло с первых реализаций программного UART...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

[uquote="oleg110592",url="/forum/viewtopic.php?p=3941157#p3941157"][uquote="BOB51",url="/forum/viewtopic.php?p=3940995#p3940995"]ПЕЧАЛЬКА[/uquote]
лучше горькая правда, чем сладкая ложь.
Вот и на святую тини13 ардуинщики замахнулись
https://github.com/MCUdude/MicroCore...
з.ы. а вы продолжайте заниматься "самовиденьем перспектив"[/uquote]
У меня этот вариант уже даавненько установлен...
Обновления там сегодня по ВСЕМ платформам, что в MCUdude заявлены:

Код: Выделить всё

https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
https://mcudude.github.io/MajorCore/package_MCUdude_MajorCore_index.json
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json
( всего же в составе ранее "накопанного" и работоспособного имеется
список текущих платформ

Код: Выделить всё

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
http://arduino.esp8266.com/stable/package_esp8266com_index.json
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
https://mcudude.github.io/MajorCore/package_MCUdude_MajorCore_index.json
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_atmega8_series_index.json
https://tremaru.github.io/arduino-board-index/package_trema_index.json
http://www.dragino.com/downloads/downloads/YunShield/package_dragino_yun_test_index.json
http://z-uno.z-wave.me/files/z-uno/package_z-wave.me_index.json
)

ССЫЛКИ УКАЗАНЫ ДЛЯ РАЗМЕЩЕНИЯ В соответствующем окне РАЗДЕЛА
НАСТРОЙКИ - ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ ДЛЯ МЕНЕДЖЕРА ПЛАТ, А НЕ ДЛЯ ПРЯМОГО ПЕРЕХОДА В БРОУЗЕРЕ!!


Единственный минус - ставятся автоматом на сегодня ТОЛЬКО для windows7-10.
Для ХР придется обновлять вручную.
Собственно там все же разработка "в рамках референса", иначе или "чистый Си" или "чистый ассемблер" придется использовать.
Да вчитываться в документацию.
Оба подхода в своих рамках верны, но в конкретном случае удобнее использовать тот вариант, который более подходит для решения конкретного проекта.
Да и "взаимовлияние" приемов весьма удачно в таком случае вписывается.
Собственно удобство адуринки не в "контрмерах" относително АВРок, а в единой среде для разных семейств.
Однако "нюансы" в описании отличий базового референса для различных семейств пока ХРОМАЮТ...
И ... к сожалению особо именно тем направлением (разбором отличий и "нюансов") пока у нас слабо занимаются (как и популяризацией работы на уровне отличном от "школярства").
8)

Добавлено after 3 minutes 37 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3941189#p3941189"]Даже интересно, что там в 13й тиньке LTOшить можно?! Но в целом прогресс ардуины налицо: и 10 лет не прошло с первых реализаций программного UART...[/uquote]
Собственно единственная наша общая ошибка только в том, что вместо объединенного подхода каждый старается остаться фанатом своего компилятора, семейства....
При том не всегда замечая (и тем более применяя) полезности из "противоположного лагеря".
:beer:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

про LTO там пишут, где ядро, а HalfDuplexSerial.cpp симпатично сделан, я ранее такого не встречал
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Возможно там еще чего интересного для "больших кристаллов" в новом обновлении - я то не Сишник...
Обновление по всем MCUdude платформам для ардуино 1.8.13 вроде совсем свеженькое - декабрьское (в ноябре еще не было)...
:roll:
За ХРшную версию (1.8.9 и более ранние) ... я там автообновление напрочь закрыл "во избежание проблем"...
УВЫ... автоматика (автообновлнеие) уже для ХР ... слишком современна - операционка "давится" приложениями для х64 и новыми добавками в сетевых технологиях...
:(
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

там написано MicroCore требует Arduino IDE версии 1.6.13 или выше.
и зачем
Зачем использовать ATtiny13 в проекте Arduino?
Они ГРОМКО дешевые (мы говорим здесь о центах!)
Они бывают как в DIP, так и в SOIC пакетах.
Они совместимы по выводам с семейством ATtiny25 / 45/85 и часто совместимы с кодом
Большинство функций Arduino реализовано в MicroCore.
Благодаря MicroCore вы можете уместить большой объем кода высокого уровня в 1024 байта!
последняя строка для BOB51 :))
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ну мне и ассемблера для 13й вполне достаточно.
8)
Насчет "требует Arduino IDE версии 1.6.13 или выше"...
Там вопрос похитрее (и заметно хуже)...
В прошлом году вероятно было что-то изменено в алгоритмах автообновления.
Если базовая машина с виндовс ХР (х32) автообновление не просто"захлебывается" , но и портит уже установленную IDE...
А версия 1.8.13 устанавливается ТОЛЬКО на 7-10ке.
Разбираться с причинами тогда не стал - просто сделал копию с базовых файлов на другом ПК и затем восстанавливал содержимое для дополнительных платформ.
:dont_know:
А вот под 7-10 любая из версий IDE продолжает корректно обновлять платформы...
УВЫ... "дань современности"...
(ТБХУ!!!)...
:evil:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3941216#p3941216"]Ну мне и ассемблера для 13й вполне достаточно[/uquote]
чет подозрительно
У меня этот вариант уже даавненько установлен...
ардуиним на тини13 по ночам? :)))
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Просто подборка "дополнительного материала" от разных авторов.
(как и z-uno и другие дополнительные платформы).
Меня у MCUdude более другие АВРки интересовали - та же 8515/162, 16я, 128я и прочее...
А подборка с 13-й удачнее таки у DIY - там 8-лапок побольше.
Кстати... нигде не встречал КАЧЕСТВЕННОЙ платформы под тиньку 2313/4313.
Да и ПИКи "особнячком" держутся.
8)
Ранее шел разговор о том, что ардуиноIDE не такая уж и "детская шалость", которой можно побрезговать.
Сколько народу пыталось доказать нежизнеспособность IDE...
Теперь чаще слышу "обратный вариант"...
:twisted:
А правда одна - все надо использовать разумно-достаточно и взаимовыгодно.
8)
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3941393#p3941393"]...Просто подборка "дополнительного материала" от разных авторов.
...Кстати... нигде не встречал КАЧЕСТВЕННОЙ платформы под тиньку 2313/4313.
...Ранее шел разговор о том, что ардуиноIDE не такая уж и "детская шалость", которой можно побрезговать.[/uquote]
1)"подборка от разных" - мусорная каша на компьютере в иде, потом жалобы - то не работает и то не работает
2)гуглом легко ищется или на сайте, который от каши на компьютере не открывается
https://github.com/SpenceKonde/ATTinyCore
3) разговор от о том что нафик эта иде не нужна, она нужна только для кухарок - проверил код блинка тини10 на линуксе без всяких иде, скомпилил без вопросов тем же чудесным универсальным макефайлом - получил абсолютно тот же результат и те же 66 байт. Причем GCC AVR из дебиановского репозитория, старенький атмелевский еще вариант. CPP - он и в Африке CPP (повторяюсь).
Друг Кота
Аватара пользователя
Сообщения: 15666
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А мне ВЛОМ на сегодня составление макуфайлов учить.
Тем более под каждый проект заново прописывать, ёжли есть хоть и "ограниченный рамками референса", но вполне устраивающий по качеству инструмент.
8)
Насчет "каши" неверное утверждение ибо каждая платформа таки имеет свои прописи путей и свои подкаталоги.
Ежли конечно грамотно разработана.
:wink:
Сайт не от "каши на компьютере" не открывается, а от ограничений наложенных более "МОДЕОРНИСТСКИМ" ПО, применяемом на многих сайтах - в ХР данный МОДЕРНИЗЬМ уже не поддерживается.
:sleep:
Ответить

Вернуться в «Разные вопросы по МК»