Карталинский форум
http://forum.kartaly.ru/

Програмирование.
http://forum.kartaly.ru/viewtopic.php?f=43&t=4458
Страница 1 из 12

Автор:  SAA [ 19 окт 2010, 08:27 ]
Заголовок сообщения:  Програмирование.

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

Оказалось что нам бы хотелось обсуждать это не "на короткой ноге" на клочке бумаги и пальцах а в удобной обстановке для которой хорошо подходит форум. Как сообщество карталы.ру смотрит на это вопрос?

Автор:  Flat [ 19 окт 2010, 08:29 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Я только ЗА, хорошее хобби, интересное :)

Автор:  LeXorBuStErD [ 19 окт 2010, 09:01 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Мозгов способных на данные вещи среди форумчан пара тройка личностей, мне глобоко пофиг, будет ветка или нет, но не дешевле позонить товарисчу, пригласить на пиго и обсудить делему.

Автор:  Flat [ 19 окт 2010, 09:03 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Если уж работать - то явно без пива, какое там программирование в пьяном состоянии.

Автор:  RoMzEs [ 19 окт 2010, 10:16 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

с пивом проги писать не интересно 'бокал пива строчка программы' 'бокал пива строчка программы' и в конце концов
устаёшь :%) тебя тошнит :bad: потом ты говаришь нннаааххх ооонннооо фффсссёёё ик ннуужжнноо и идёшь спать

Это Написал ваш ЗлОЙ :evil: ГЕйМЕР gamer

Автор:  Lextor [ 19 окт 2010, 10:21 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

да, хобби хорошее.
так что, ветка форума будет?))

Автор:  Flat [ 19 окт 2010, 10:32 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Сначала перепись программистов сделаем.

Автор:  Гость [ 19 окт 2010, 10:40 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Flat писал(а):
Сначала перепись программистов сделаем.


Согласно переписи населения в России? :)

Я так понимаю созидатель kartaly.ru сам не хило баловал в юном возрасте таким хобби, я бы сказал это было даже не хобби, профессия. Так что Женьку в Намба Ван этого списка :)

Автор:  SAA [ 19 окт 2010, 10:41 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Пардон Гость это был я.

Автор:  SAA [ 19 окт 2010, 10:48 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

LeXorBuStErD писал(а):
Мозгов способных на данные вещи среди форумчан пара тройка личностей, мне глобоко пофиг, будет ветка или нет, но не дешевле позонить товарисчу, пригласить на пиго и обсудить делему.


Получиться глубоко законспирированная сходка, результаты которой если и будут иметь место, будут известны только этим двум темным личностям. Такое развитие по типу пифагорейского общества тоже развитие конечно, но оно прогрессивное или регрессивное?

Автор:  Flat [ 19 окт 2010, 10:54 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Сомневаюсь что Женю это заинтересует. Но мне интересно сколько среди нас тех кому интересно программирование.

Автор:  Amigo [ 19 окт 2010, 11:05 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Да, вопрос был "Возвращает ли арифметический процессор ошибку". Для себя интуитивно ответил "Да", так как интерпретатор возвращает 3 варианта ошибки, и как бы он их определял, если не по коду возврата.
Хотя разговор начался с WM-сообщений Windows.
SAA
Скачал я пару компиляторов C++. Но что я от них ждал? Во первых компактность exe, но первый скомпилированный исходник в примерах не был компактным. Второе - вытащить из файлов *.h параметры функций WM-сообщений, но там как-то они меж собой завязаны, что выудить полезного не смог.
:)

Автор:  LeXorBuStErD [ 19 окт 2010, 11:23 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Amigo писал(а):
Да, вопрос был "Возвращает ли арифметический процессор ошибку". Для себя интуитивно ответил "Да", так как интерпретатор возвращает 3 варианта ошибки, и как бы он их определял, если не по коду возврата.
Хотя разговор начался с WM-сообщений Windows.
SAA
Скачал я пару компиляторов C++. Но что я от них ждал? Во первых компактность exe, но первый скомпилированный исходник в примерах не был компактным. Второе - вытащить из файлов *.h параметры функций WM-сообщений, но там как-то они меж собой завязаны, что выудить полезного не смог.
:)

Скрытый текст. Необходимо зарегистрироваться.


Интересно что этим хотел сказать афтар? :Search:

Автор:  RoMzEs [ 19 окт 2010, 11:35 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

и каким образом перепись программеров устраивать будете :"":

Автор:  DR.Faust [ 19 окт 2010, 12:07 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

RoMzEs писал(а):
и каким образом перепись программеров устраивать будете

Флат создаст тему "Кто здесь програмист?", все кто отпоститься местоимением "я" тот и попадет в списки)))
наверное так)))

Автор:  SAA [ 19 окт 2010, 12:26 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Amigo писал(а):
Да, вопрос был "Возвращает ли арифметический процессор ошибку". Для себя интуитивно ответил "Да", так как интерпретатор возвращает 3 варианта ошибки, и как бы он их определял, если не по коду возврата.


Если быть точнее то вопрос был "как процедура или функция могут возвращать ошибку". Вопрос на самом деле не тривиальный потому что вернуть -1, либо какое то другое значение, которое расценивается как ошибка - на самом то деле не означает вернуть ошибку. Возвращаемое при вызове функции деления div(a,b) значение -1 например будет правильным или как ты говоришь валидным если в качестве аргументов функция получит a=1 и b=-1 ===> div(1,-1). Ну и так далее... тема на самом деле на столько глубокая, рассматривать ее тут значит уехать от основной темы ветки. Да и по объему пост выльется в приличное количество литер :) Я за то что бы это делать в отведенном для таких постов месте. Если такого места не дадут будем Амиго обсасывать эту тему прям тут. :)

Amigo писал(а):
Хотя разговор начался с WM-сообщений Windows.


да...? вот видишь еще и сообщения Windows затронули, хотя чем сообщения Windows например от сообщений Symbian или QNX отличаются? Их реализация в Языках Высокого Уровня опять таки интересная отдельная тема, достойная отдельной ветки :)

Amigo писал(а):
SAA
Скачал я пару компиляторов C++. Но что я от них ждал? Во первых компактность exe, но первый скомпилированный исходник в примерах не был компактным. Второе - вытащить из файлов *.h параметры функций WM-сообщений, но там как-то они меж собой завязаны, что выудить полезного не смог.
:)


Компактность Amigo это еще более интересная тема. Самым компактным исполняемым файлом из двух exe или com будет конечно же com, так как он не содержит оголвка Portable Executable.

Вот такенная структура данных (взято отсюда http://www.codenet.ru/progr/formt/elf_pe.php):

struct pe_hdr {
unsigned long pe_sign;
unsigned short pe_cputype;
unsigned short pe_objnum;
unsigned long pe_time;
unsigned long pe_cofftbl_off;
unsigned long pe_cofftbl_size;
unsigned short pe_nthdr_size;
unsigned short pe_flags;
unsigned short pe_magic;
unsigned short pe_link_ver;
unsigned long pe_code_size;
unsigned long pe_idata_size;
unsigned long pe_udata_size;
unsigned long pe_entry;
unsigned long pe_code_base;
unsigned long pe_data_base;
unsigned long pe_image_base;
unsigned long pe_obj_align;
unsigned long pe_file_align;

// ... ну и еще много всякого, неважного.
};

В Линукс используется ELF формат исполняемых файлов со своей структурой оголовка.

кстати опять таки отдельная тема для обсуждения зачем заголовок для каких он целей.

Однако сократить до минимума исполняемый файл это вовсе не значит перекомпилировать его в com. Тут уже вопрос решается не компиляцией, а линковкой. Только линкер способен избавить исполняемый файл от ненужного кода библиотек и вообще от ненужного кода. А это Амиго тема опять таки обширная не на один пост. :)

Про "хидеры" Амиго я говорил тебе не ройся в них ты ничего не найдешь, но специально для тебя я опять таки конечно сам отрою тебе WM сообщения Windows которые являются константами и мало тебе дадут в общем то, без формата процедуры обработчика событий Windows.

Автор:  Flat [ 19 окт 2010, 12:45 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Все, в этой теме больше никого мы не увидим из новичков, я сам напугался :lol:

Автор:  SAA [ 19 окт 2010, 12:48 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Amigo писал(а):
Второе - вытащить из файлов *.h параметры функций WM-сообщений, но там как-то они меж собой завязаны, что выудить полезного не смог. :)


Вот смотри взято из DevCPP среды то бишь из заголовочных файлов ("хидеров") для gcc:
Код:
#define WM_APP 32768
#define WM_ACTIVATE 6
#define WM_ACTIVATEAPP 28
/* FIXME/CHECK: Are WM_AFX{FIRST,LAST} valid for WINVER < 0x400? */
#define WM_AFXFIRST 864
#define WM_AFXLAST 895
#define WM_ASKCBFORMATNAME 780
#define WM_CANCELJOURNAL 75
#define WM_CANCELMODE 31
#define WM_CAPTURECHANGED 533
#define WM_CHANGECBCHAIN 781
#define WM_CHAR 258
#define WM_CHARTOITEM 47
#define WM_CHILDACTIVATE 34
#define WM_CLEAR 771
#define WM_CLOSE 16
#define WM_COMMAND 273
#define WM_COMMNOTIFY 68      /* obsolete */
#define WM_COMPACTING 65
#define WM_COMPAREITEM 57
#define WM_CONTEXTMENU 123
#define WM_COPY 769
#define WM_COPYDATA 74
#define WM_CREATE 1
#define WM_CTLCOLORBTN 309
#define WM_CTLCOLORDLG 310
#define WM_CTLCOLOREDIT 307
#define WM_CTLCOLORLISTBOX 308
#define WM_CTLCOLORMSGBOX 306
#define WM_CTLCOLORSCROLLBAR 311
#define WM_CTLCOLORSTATIC 312
#define WM_CUT 768
#define WM_DEADCHAR 259
#define WM_DELETEITEM 45
#define WM_DESTROY 2
#define WM_DESTROYCLIPBOARD 775
#define WM_DEVICECHANGE 537
#define WM_DEVMODECHANGE 27
#define WM_DISPLAYCHANGE 126
#define WM_DRAWCLIPBOARD 776
#define WM_DRAWITEM 43
#define WM_DROPFILES 563
#define WM_ENABLE 10
#define WM_ENDSESSION 22
#define WM_ENTERIDLE 289
#define WM_ENTERMENULOOP 529
#define WM_ENTERSIZEMOVE 561
#define WM_ERASEBKGND 20
#define WM_EXITMENULOOP 530
#define WM_EXITSIZEMOVE 562
#define WM_FONTCHANGE 29
#define WM_GETDLGCODE 135
#define WM_GETFONT 49
#define WM_GETHOTKEY 51
#define WM_GETICON 127
#define WM_GETMINMAXINFO 36
#define WM_GETTEXT 13


#define A B
это директива препроцессора (не путать с языковой конструкцией) совершающая макроподстановку B вместо найденного в тексте A, происходит это до этапа компиляции. таким образом WM_GETEXT это константа численно равная 13. А вот какой тип имеет этот параметр нам хиедр ничего не скажет может быть unsigned int, а может signed int.

Автор:  SAA [ 19 окт 2010, 12:52 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

Flat писал(а):
Все, в этой теме больше никого мы не увидим из новичков, я сам напугался :lol:


Вот о чем я и говорю, новички должны иметь равные шансы задать вопрос и получить ответ. В данный момент мы обсуждаем а нужно ли kartaly.ru отдельную ветку посвященную программированию от А до Я.

Автор:  Amigo [ 19 окт 2010, 13:01 ]
Заголовок сообщения:  Re: Нужна ли ветка по программированию?

SAA
Ну к примеру у меня интерпретатор находится внутри EXE. Конечно много внешних билиотек добавляемых в EXE в виде расширенных функций (аналог *.h), я при этом не говорю о внешних библиотеках винды. Но под компактностью я имел в виду возможный минимальный размер EXE, когда в него вставляются только те события, которые выполняются. К примеру всего 3 кб, или к примеру nircmd.exe - 60кб.

Страница 1 из 12 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/