ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
236777 Топик полностью
testerplus (03.02.2011 17:42, просмотров: 301) ответил FDA на Да не хочу я такой бред слушать. Я этот компилятор уже восемь лет юзаю и проблем с ним никогда не было. Мелкие косяки везде есть, но выявляются они и обходятся очень легко. Самое главное здесь - лаконичный, не перегруженный всякими pragma'ми код,
Хозяин - барин. Держи пример. Я за несколько лет работы с picc18 выловил уже ведро багов, ты просто не натыкался еще. #include <pic18.h> void (*www)(), (*eee)(); void func1 () { char i = 10; do { eee(); } while(--i); } void func2 () { } void main (void) { asm(" global _func1 "); asm(" fncall _main, _func1 "); asm(" fncall _func1, _func2 "); www = func1; eee = func2; www(); while (1); } fncall можешь закомментировать, если не нравится. Данный пример просто не соберется, будет ругаться на рекурсию. Убери из него любую строчку - он начнет собираться. Когда программа большая, ошибку локализовать крайне сложно (а возникает она неожиданно: работало, работало, а потом, после добавления очередной локальной переменной, все падает) У меня была целая коллекция хайтековских косяков (что для 18х, что для 16х), вычистил недавно. Сейчас есть на диске программа (извини, чужая, исходники не дам), в которой перекрываются константы в ROM для инициализации переменных.