Видел как-то код под Linux для gcj... Программист там создавал таблицу. Но он не использовал стандартные компоненты TableWidget. Он взял 2 стандартных графических виджета: Window и Canvas, и создал с помощью них почти Excel! Жаль, код потерял (я щас как раз с таблицами встреваю). Мои знакомые говорят об этом кодере: Настоящий извращенец!!! А я иначе считаю: он - настоящий мастер. Он уложил это чудо в 4KB (после линковки, фомат ELF), используя стандартные методы рисования (линии, квадратики), у него для ввода данных в таблицу даже текстовые поля не используются (TextFieldWidget) - стандартное считывание символа с клавы, точнее перехват, причем все работает без тормозов. Можно сказать, сделал новый виджет с нуля! А как вы считаете, мастерство это или извращение? P.S.: исходники можно встретить в старых примерах к gcc. (gcc.gnu.org, кажется)
Ну, я бы не сказал, что он с ума сшедший кодер Просто, человеку удобнее работать с адресами в памяти чем с нормальными классами - я, конечно не понимаю этого, и знаю, что мне это не нужно, но отчего-то в душе сидит огромное желание повторить нечто подобное. Я не понимаю, как можно исходник в 20 килобайт откомпилить в 4KB, но на душевном уровне хочу научиться делать так, зачем-не знаю. Я тут вспомнил, что давно пробовал откомпилить его сорс, когда он был еще у меня. У меня вышло приложение в 13KB, при запуске которого вылезала "Ошибка сегментации". Чем он собирал - не знаю Какие есть способы освоить такое, что нужно изучить?
device, дык у него и осведомитесь - как он к этому всему пришел. или в силу каких-то причин это не получится (можт уехал он)?
Используя динамческие библиотеки =) (+ не забывать strip делать) Сам работаю с таблицами... Если бы не лень и наличие жены не использовал бы ни мелкософтовских ни борландовских =)
Ни чего странного не вижу. ООП, вместе с его классами терпеть не могу и работать стараюсь именно со структурами в памяти. Оттого мы и зовем их гениями, что они мыслят не так, как большинство. А как еще называют тех, кто думает не стандартно и своим мышлением не вписывается в общие рамки? Правильно - их называют сумасшедшими...
Извращение. Его код полюбому больше и его труднее поддерживать. А время, затраченное на разработку, полюбому больше, причем результат не лучше. Неработающие приложения - признак мастерства? ))
А как по мне, так адреса удобнее, чем какие-то вирутальные классы. Зато хоть все ясно, что и где лежит. Куда положил, оттуда и возьмешь. А классы - от лукавого.
Это у меня вышло такое приложение, а там приведен исполняемый файл в 4КБ и нормально работал. Может это какие-то возможности компилера, которые мало документированы?
а вот у меня обратная история. поднял до сишных сорцов чужую функцию (в бинарном виде без данных - 200 кб), откомпилил MS VC 6 /Ox, получив в результате код 20 кб. причем, исходная программа была написана на _фасме_ а все потому что это чудо в тупую использовало конструкции типа cmp [addr], 0x123456, ну а про команды типа setz al вообще не знало. так что Си рулез форева. главное - уметь им пользоваться а на асме программить - много ума не надо. вот _качественно_ программить на асме - это да. но на это ИМХО способно не более 10% знающих асм, а может даже и 3% ~ 5%