|   |   | 
| 
 | Собственно есть нормальный компилятор (не С)? | ☑ | ||
|---|---|---|---|---|
| 0
    
        IVIuXa 11.05.12✎ 14:52 | 
        Столкнулся с такой проблемой - оказывается нормального языка (компилируемого), который не требует потом кучу библиотек нет.
  Исключение с(с++)+например QT не рассматриваю по религиозным соображениям. В поле зрения попали компиляторы языков D и vala - vala все равно зараза тащит gtk. А d просто настолько сырой - нет нормальной ide, да че там документации элементарной и то нет... Вообще есть нормальный язык - с чистой компиляцией без кучи (нужных) библиотек ? | |||
| 155
    
        dmpl 12.05.12✎ 10:03 | 
        (154) Это вы еще линковку по-нормальному не настроили. Тот же C++ для встраиваемых устройств (MS eMbedded C++) пустое окно может создать заняв всего 7 кБ. То же самое можно сделать и с обычным Visual C++, только надо правильный def файл создать.     | |||
| 156
    
        Xapac 12.05.12✎ 10:04 | 
        (155)то был билдер и 2003-й год. я мог сейчас и соврать.     | |||
| 157
    
        strange2007 12.05.12✎ 10:07 | 
        Окно авторизации, главное окно, всякие загрузки и сохранения системных настроек со стропроцентными проверками всех ситуаций, конвертация и определение языковых файлов, создание рабочих каталогов, протоколирование (по размеру, либо разделение по дням, понедельно или помесячно). В ресурсах с десяток иконок и языковый файл по умолчанию. На все про все 56 кб. Всего строк 2300 (с учетом всех комментариев и пробелов)     | |||
| 158
    
        badboychik 12.05.12✎ 10:09 | 
        (152) окно и пара кнопок с обработчиками нажатий     | |||
| 159
    
        strange2007 12.05.12✎ 10:10 | 
        (158) Фигово. Для больших вещей надо будет требовать большие компы. Немного не в пользу     | |||
| 160
    
        strange2007 12.05.12✎ 10:49 | 
        Во! В пользу PB. Одна парочка компонент:
  "Scintilla это бесплатный компонент для редактирования исходного кода. Он поставляется с исходным кодом и лицензией разрешающей использовать её в любых бесплатных или коммерческих проектах. Лицензия может быть найдена здесь. Исходный код и документацию можно найти на Scintilla Homepage." Вот другая: "Камеры используются, для отображения 3D-пространства. Ими можно управлять как реальными камерами (перемещать, осуществлять вращение, изменять угол обзора и т.д.). Необходима минимум одна камера render для отображения на дисплее. Много камер с различными позициями и положениями могут использоваться одновременно, которые делают возможными первоклассные эффекты как Splitscreen (полиэкран, для нескольких игроков), зеркала заднего вида и т. д." Или вот: "Привилегированный файл, содержит определяемые пользователем параметры программы. Он хранится на диске и загружается каждый раз при запуске программы (например 'файл.INI' в Windows ). PureBasic дает возможность создать привилегированный файл, используемый на любом компьютере (на различных платформах). Формат файла по умолчанию сохраняется в ASCII. Используя синтаксис одной строки 'ключ = значение'. Для удобства чтения, могут быть созданы группы." | |||
| 161
    
        badboychik 12.05.12✎ 10:51 | 
        (158) че то не понял, откуда такой вывод?
  (160) у AutoIt тоже редактор на основе scintilla | |||
| 162
    
        strange2007 12.05.12✎ 10:54 | 
        (161) "че то не понял, откуда такой вывод?" мне казалось, что в 300 кб должно поместиться огромнейшее приложение. Нет?     | |||
| 163
    
        slowpoke1C 12.05.12✎ 11:16 | 
        (151) А чем FreePascal не угодил?
  а Кросс-платформенный ( Linux, FreeBSD, Haiku, Mac OS X/Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware (libc and classic) and MorphOS) + для множества аппаратных платформ ()Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM, б Есть встроенный асм, в Многие учили паскаль в школе / институте г Есть три движка для GUI. д В отличие от PureBasic (PureBasic — диалект языка BASIC и коммерческий компилятор для него. см. wiki:PureBasic и http://www.purebasic.com/index.php), FreePascal совсем открытый и бесплатный. е И простой хелловорлд для командной строки компилится в 30 КБ, а небольшая программулина резервного копирования (тоже CLI) компилится в 32 КБ. Т.е., исполняемые файлы довольно компактны. | |||
| 164
    
        strange2007 12.05.12✎ 11:19 | 
        (163) ээээ... а графику на нем трудно ваять? Создать полноценное оконное приложение     | |||
| 165
    
        strange2007 12.05.12✎ 11:22 | 
        +(164) А то для меня паскаль = досовская хрень для учебных целей и разработки абсолютно ни кому не нужных алгоритмов на БК000001 с 15 кб памяти     | |||
| 166
    
        slowpoke1C 12.05.12✎ 11:35 | 
        (164), (165) В средах Lazarus, FPgui надо просто накидать компоненты, а среда разработки напишет для реализации этих окон код, с вызовом нужных библиотек.     | |||
| 167
    
        slowpoke1C 12.05.12✎ 11:36 | 
        +(166) Я начинал с Лазаруса, а потом перешёл на более компактный FPgui, сейчас делаю внутренние утилитки.     | |||
| 168
    
        slowpoke1C 12.05.12✎ 11:37 | 
        +(163) сайты про фрипаскаль: freepascal.org, freepascal.ru     | |||
| 169
    
        badboychik 12.05.12✎ 11:38 | 
        лазарус глючное УГ
  А у AutoIt нет суперсложных примеров в поставке, поэтому не могу сказать, может оно и будет весить 350кБ. Там примерно 300 кБ занимает движок, значит усложнение проги не будет вести к большому росту файла | |||
| 170
    
        strange2007 12.05.12✎ 11:45 | 
        (168)
  "Создание файла программы Основная программа состоит из четырёх обязательных частей: Создание и регистрация класса главного окна. Сначала заполняется специальная оконная структура типа WNDCLASS или WNDCLASSEX. Они содержат одни и те же поля, однако WNDCLASSEX имеет дополнительные поля: cbSize - сюда заносится размер WNDCLASSEX hIconSm - сюда заносится "маленькая иконка" приложения. Если маленькую иконку использовать не предполагается, то присваивается ноль. Скомпилированая с WNDCLASSEX программа имеет несколько больший размер. Главные поля класса: lpfnWndProc - сюда заносится адрес процедуры обработки сообщений главного окна программы. cbWndExtra - здесь, если диалоговое окно создаётся из ресурсов, должно присутствовать волшебное слово DLGWINDOWEXTRA. lpszClassName - здесь должно стоять название класса основного окна. Обращаю ваше внимание, что название должно быть точно таким же, как и название CLASS у того диалогового окна в ресурсе, которое будет главным. Регистрация класса проводится процедурой RegisterClass() для типа WNDCLASS и RegisterClassEx() для типа WNDCLASSEX. " ой нет, опять эти путанные повторяющиеся куски... нафуй-нафуй такое счастье | |||
| 171
    
        Адинэснег 12.05.12✎ 11:49 | ||||
| 172
    
        strange2007 12.05.12✎ 11:53 | 
        (171) Поверь, вот это ГОРАЗДО ламернее
  v8: Периодические РС. Что быстрее: запрос или метод? | |||
| 173
    
        Адинэснег 12.05.12✎ 12:31 | 
        (172) а я на ассемблеры и не замахивался...
  v8: Роль "ПравоВыводаИнформации" как работает в УПП - тут ваще человека в конфигураторе забанили, бгг | |||
| 174
    
        strange2007 12.05.12✎ 12:45 | 
        (173) И? Я и не скрываю, что многое не знаю. Задаю вопросы, когда полный все. Только вот это право помимо печати может еще на десяток мест повлиять, а делаю то из расчета, что бы не переделывать. Соответственно надо много доков читать, а когда загрузка большая, читаешь только выборочную литературу. Заметь, народ на других форумах отозвался и рассказал что к чему исходя из своего опыта. В итоге вместо того, что бы тратить туеву хучу времени, каждый поделился своим.
  В (172) эксперимент ставится за 15-20 минут, в одной из веток тут делали. При чем народ замер в файловом варианте, на МС СКЛе и на ПГ СКЛе сразу сделал. 15-20 минут!!!!!! я просто не вижу вариантов, на чем можно запороться. В (171) я первый раз с таким же вопросом тоже в ступор впал. Конфа сообщает что-то, значит она что-то где-то видит. Реально с первого раза я тупил где брать отчеты, т.к. не представлял какая структура. Представляешь сколько вариантов могло быть с предоставлением отчетности? В общем по моему мнению ты все равно зря насмехаешься над человеком, не посмотрев в зеркало | |||
| 175
    
        Адинэснег 12.05.12✎ 12:55 | ||||
| 176
    
        ado 12.05.12✎ 13:57 | 
        Мне вот что не понятно. Ну ладно, на с++ у автора аллергия. А старый добрый Delphi чем не угодил?     | |||
| 177
    
        strange2007 12.05.12✎ 15:39 | 
        (176) не моё, напарники рассказывают, что у дельфи много устаревшего, а это уже минус. Еще раз, не моё, расскажи на сколько на нем просто делать нормальные приложения? Сегодня нач.юр.отдела очень крупной компании попросил дельфи7 и 9, а это уже настораживает     | |||
| 178
    
        ado 12.05.12✎ 16:56 | 
        (177) Что такое нормальные приложения, и какие с ними могут быть сложности? Насчет устарелости ничего сказать не могу, несколько лет уже не приходилось в руки брать. Впрочем, фронтир -- это платформы типа .net, а этого вы сами не хотите. Так что странно слышать жалобы на устарелость.     | |||
| 179
    
        Torquader 12.05.12✎ 21:47 | 
        Так в любом компиляторе есть опция "static" которая позволяет все используемые библиотеки положить внутрь файла, кроме стандартных библиотек Windows.
  Собственно говоря - чем это не устраивает ? | |||
| 180
    
        badboychik 12.05.12✎ 22:18 | 
        Делфи ХЕ2 вроде нормальный стал по сравнению с седьмым, но я например как-то уже не могу писать на делфи после дотнета. Неудобно и не в кайф )     | |||
| 181
    
        orefkov 12.05.12✎ 22:19 | 
        Такое ощущение, что у некоторых копание в инструментах превратилось в самоцель, собственно уже заменившую собой саму работу. Где хоть какой-то результат, где мега-проекты, где? Одно только хвастовство и вороченье носа от предлагаемых вариантов. Ах да, конечно, как доходит до результатов, всё конечно же оказывается страшно секретными разработками для мега-компаний, за один показ скринов которого уже выедут черные воронки.     | |||
| 182
    
        IVIuXa 14.05.12✎ 03:02 | 
        (176)
  вот что сие озночает ? = *((unsigned **** *) d_addr->h_addr); | |||
| 183
    
        IVIuXa 14.05.12✎ 03:05 | 
        +(182)
  что такое указатель на указатель указателя - и самое главное нахрена ? | |||
| 184
    
        strange2007 14.05.12✎ 03:55 | 
        (178) Меня голый ВинАПИ напрягать стал, старый наверное уже. Не, всякие точки нет не катят, т.к. слишком уж тяжелые и зависимые от кучи софта, кроме оси     | |||
| 185
    
        IVIuXa 14.05.12✎ 08:13 | 
        (176)
  зачем в дельфи антифриз и почему он криво работает ? | |||
| 186
    
        dmpl 14.05.12✎ 08:41 | 
        (181) А это как с фототехникой. Есть фотодрочеры, которые с пеной у рта долго и нудно выбирают тушку, объективы, режимы съемки... а в итоге шедевров все нет и нет :)
  (182) А кто тебя заставляет такие конструкции использовать? Хотя тут ничего особо сложного и нет: значение h_addr (из названия следует, что это тоже указатель) приводится к типу unsigned ****, а затем разыменовывается. Т.е., это всего лишь чтение значения типа unsigned **** из адреса, на который указывает значение h_addr. (185) Чтобы программы не перегревались :) | |||
| 187
    
        Jstunner 14.05.12✎ 08:57 | 
        (182) приведение указателя к типу и его разыменование. Ничего сложного
  (183) то, что до тебя не доходит, не значит, что это не нужно. Пример, структура колцевого двухсвязного списка. Имея указатель на эту структуру, для проверки списка на пустоту, потребутся тройное разыменование | |||
| 188
    
        IVIuXa 14.05.12✎ 09:41 | 
        (187)
  нахрена его приводить к типу и разыменовывать ? | |||
| 189
    
        IVIuXa 14.05.12✎ 09:49 | 
        +(188)
  вот а=2 - не проще такие конструкции использовать ? или так круче ? int *pa, a; *pa = 2; a = *pa; pa = &a; // нах | |||
| 190
    
        orefkov 14.05.12✎ 10:08 | 
        (189)
  Не переживай. Имхо примерно 90% людей совершенно не могут понять концепцию указателей. Это нормально. | |||
| 191
    
        IVIuXa 14.05.12✎ 10:08 | 
        (190)
  я переживаю за эти бедные 10% :) | |||
| 192
    
        dmpl 14.05.12✎ 10:09 | 
        (188) Приводить к типу - потому что тип не тот, что нужен (например, void *). Ну а разыменовывать - чтобы значение, лежащее по адресу указателя, получить.     | |||
| 193
    
        strange2007 14.05.12✎ 10:09 | 
        (190) а 90% из оставшихся 10 не вкупаются про смысл стека)))))))))     | |||
| 194
    
        IVIuXa 14.05.12✎ 10:16 | 
        преимущества использования указателей (официально):
  1) скорость выполнения программы. 2) удобство программирования. ну фиг знает.... (не официально) Единственное приемущество указателей - возможность применения арифметики указателей для получения низких издержек на индексирование. Все остальные аспекты связанные с указателями скорее относятся к недостаткам, а не приемуществам. | |||
| 195
    
        strange2007 14.05.12✎ 10:19 | 
        (194) "скорость выполнения программы." это как? Либо просто пишем в переменную, либо сначала получить адрес переменной, а потом только писать. Разве это быстрее? Не, я может чего-то не знаю     | |||
| 196
    
        dmpl 14.05.12✎ 10:23 | 
        (194) Издержки на индексирование абсолюно одинаковые что при A[5], что при *(A + 5) - в обоих случаях это преобразуется в 1 инструкцию lea, или вообще используется mov с косвенной адресацией.
  (195) Т.е., думаешь прежде чем записать в переменную значение, ее адрес определять не надо? Такое только для регистровых переменных работает, а их в x86 весьма немного (максимум 8 РОН), и пара-тройка из них обычно занята для служебных целей. | |||
| 197
    
        strange2007 14.05.12✎ 10:26 | 
        (196) Нет справочника по тактам под руками. Лень искать. Честно. Но разве операция
  mov dword ptr [ebp+08], 1 будет дольше lea ebx, dword ptr [ebp+08] mov dword ptr [ebx], 1 или опять не правильно понимаю конструкцию? С указателями удобно работать, когда надо передать параметром куда-то и не более | |||
| 198
    
        dmpl 14.05.12✎ 10:40 | 
        (197) Современный компилятор для такого случая использует mov    dword ptr [ebp+08], 1 что для A = 1, что при *pA = 1. Более того, они могут использовать такую конструкцию даже в случае
  DWORD *pA; pA = &A; *pA = 1; если данное значение pA дальше не используется (например, для арифметики указателей). Хотя для современных процессоров даже lea ebx, dword ptr [ebp+08] mov dword ptr [ebx], 1 не скажется на производительности, если в программе делается что-нибудь еще, поскольку lea исполнится задолго до того, как очередь дойдет до mov (параллельно с другими инструкциями). | |||
| 199
    
        strange2007 14.05.12✎ 12:05 | 
        (198) "не скажется на производительности, если в программе делается что-нибудь еще, поскольку lea исполнится задолго до того, как очередь дойдет до mov (параллельно с другими инструкциями)." Не скажется совсем или не скажется чуть-чуть?     | |||
| 200
    
        НафНаф 14.05.12✎ 12:05 | 
        +200     | |||
| 201
    
        dmpl 14.05.12✎ 12:53 | 
        (199) Совсем. Тот же K10 от AMD имеет 3 блока AGU (на которых выполняется lea и вычисление адреса при косвенной адресации) и 3 блока ALU (которые, собтсвенно, произведут присваивание). 2 инструкции вместо одной скажутся только в сильно оптимизированном коде, где темп исполнения достигает 3 инструкций/такт - в этом случае декодер будет ограничивать скорость исполнения. Но такой код никакой компилятор не выдаст, тут только ручной хардкорный труд ассемблерщика. И при операциях с памятью 3 инструкции/такт практически недостижимы.     | |||
| 202
    
        Jstunner 14.05.12✎ 13:42 | 
        (194) вопрос терминологии. Указатели в том или ином виде присутствуют почти в любом ЯП.     | |||
| 203
    
        Jstunner 14.05.12✎ 13:48 | 
        (201) если эти две инструкции исполняются в вакууме, то возможно и не будет разницы. Но, если в коде, например, цикла десятки других lea и mov, зависимых друг от друга, то одиночный mov будет быстрее     | |||
| 204
    
        dmpl 14.05.12✎ 14:25 | 
        (203) Практические измерения не показывают хоть сколько-нибудь заметных выигрышей по скорости при использовании одиночной инструкции mov в подобных ситуациях. В синтетике, конечно, можно выявить разницу, но на то она и синтетика.
  А насчет десятков других зависимых инструкций - так задержки на доступ к RAM из-за произвольного доступа и низкой эффективности кеширования будут значительно выше возможной задержки от lea (и по факту она окажется скрытой). Даже хит L1D, не предсказанный заранее, вызовет задержку в 3 такта, хит в L2 вызовет задержку в 12 тактов, хит в L3 - около 60 тактов, ну а если не повезло и надо в память лезть - все 150-200 тактов. | |||
| 205
    
        Torquader 15.05.12✎ 01:32 | 
        Указатели удобны только для передачи массивов значений и для явного преобразования типов.
  Например, я сложил в память всякую хрень, типа 01 45 56 32 А потом хочу достать два байта ((unsigned short*)p)[1] - и я получаю 0x3256 Другое дело, что можно сначала определить структуру, то есть составной тип, а потом его передавать по ссылке - это будет всем понятно - но - бывают ситуации, когда формат записи зависит от самой записи - тогда без указателей с ней работать очень сложно. В любом случае - указатели - это ассемблер - и никакого автоматического управления памятью быть не может. Именно по этой причине программы на Си часто падают с непонятными ошибками. P.S. например, выяснилось, что ни компиллятору ни процессору не по зубам следующая инструкция: unsigned long a; unsigned char*pch; unsigned short*psh; a=0x12345678; pch=(unsigned char*)(&a); pch++; psh=(unsigned short*)pch; (*psh)=0xABCD; И произошла фигня - двухбайтовое число оказалось на границе нечётного байта. | |||
| 206
    
        Jstunner 15.05.12✎ 05:50 | 
        (205) в Си указатели удобны для всего, потому что, в отличии от ссылок, они могут быть не константныи. И используются повсеместно, для передачи "ссылок" на объекты.
  Что касается арифметики указателей, то в современных программах ее используют в двух случаях: профессиональными Си-программистами, которые знают о чем-то, чего не знаем все мы; остальные влезают банально по не знанию, что есть десятки других удобных способом, не использовать арифметику указателей вовсе. Не может быть автоматического управления памятью?? Я сейчас тружусь на работе, где основной ЯП полностью совместим с Си и обладает автоматическим сборщиком мусора.. Каково? Ps: можно сколь угодно написать кода с явным приведением типов, который окажется "не по зубам" | |||
| 207
    
        dmpl 15.05.12✎ 09:09 | 
        (205) В смысле не по зубам? Все работает так, как и должно работать. Что хотел - то и получил.
  И, кстати, что такого в том, что двухбайтовое число оказалось по нечетному адресу? Ничего такого в этом нет, максимум штраф за 2 доступа к кешу вместо 1, когда это число попадет на границу строк кеша. Ну и store-to-load forwarding, скорее всего, не сработает (т.е. будет задержка на несколько тактов, если попытаться обратиться к только что записанному в память значению). | |||
| 208
    
        orefkov 15.05.12✎ 09:29 | 
        (207)
  Это на x86 ничего страшного, что двухбайтовое число не выровнено по четному адресу. А допустим на ARM'е - низзя, проц сразу сгенерит исключение. | |||
| 209
    
        dmpl 15.05.12✎ 10:15 | 
        (208) Ну значит на ARM компилятор просто обойдет это с помощью нескольких инструкций - считает данные с корректным смещением, вставит в нужной позиции нужные данные и запишет обратно.
  И вообще, зачем вести речь о недопроцессорах, которые не могут нормально память адресовать? ;) В тех же БД такое встречается сплошь и рядом. | |||
| 210
    
        orefkov 15.05.12✎ 10:24 | 
        (209)
  ARM - недопроцессор? Производители смартфонов, планщетов, фотоаппаратов и т.д. и т.п. смотрят на тебя как то с недоумением, и одновременно смеются над тобой. У тебя по карманам наверняка 2-3 девайса лежит на ARM'е. | |||
| 211
    
        dmpl 15.05.12✎ 10:41 | 
        (210) ARM суют в мобильные девайсы по одной причине - они меньше потребляют при удовлетворительной для мобильных девайсов производительности. Ну и производят их все кому не лень, а потому они дешевы. При этом все более или менее требовательные к производительности части реализуются спец. микросхемами (блоками), а не ARM.
  P.S. А в кармане лежит максимум 1 девайс - Sony Ericsson T610, смартфоны не признаю (во-первых, ими пользоваться неудобно, во-вторых, нельзя ронять на бетонный пол, в-третьих, они просто огромные, в-четвертых, батарейку высасывают очень быстро), планшет мне не нужен. Девайсы на ARM есть (тот же автонавигатор или читалка), но они все тормоза поголовно, даже до Atom'а не дотягивают по производительности. | |||
| 212
    
        Jstunner 15.05.12✎ 11:55 | 
        (211) ARM сравнительно молодая архитектура, и гораздо более перспективная, нежели x86. x86 - устарела донельзя, и то что процессоры на его архитектуре достигли очень высокой производительности, результат миллиардных вливаний в инженеров, которые чудом из какашки выдавливают последние соки.
  А у того, кто обращается к данным по не выровненным адресам, просто руки из опы растут :) | |||
| 213
    
        dmpl 15.05.12✎ 12:38 | 
        (212) Да ладно? С 1983-го года и все молодая? Ну тогда и x86 совсем не старая ;)     | |||
| 214
    
        gnus 16.05.12✎ 11:44 | 
        turbo C 2.0     | |||
| 215
    
        IVIuXa 18.05.12✎ 13:57 | 
        (еще один гвоздь в с++) 
  скажите название хоть одной книжки (не c .NET) где есть нормальное описание работы с сокетами с протоколами (например pop3) на purebasic за день сделал почтового клиента с приемом файлов... 16кб чистый сокет + протокол pop3 + декодировщик-исправляльщек(base64) + буферы ( указатели(фиг с вами :) )) + узнал, что purebasic работает прям напрямую с api винды, короче сильная весч на с++ там бы походу вообще дебри были.... на c# за час бы сделал, но .NeT зараза все портит | |||
| 216
    
        IVIuXa 18.05.12✎ 14:01 | ||||
| 217
    
        IVIuXa 18.05.12✎ 14:05 | 
        +(216)
  смотрю 7 книгу по С++ ни намека на библиотеки тем более на сокеты все какая то чушь про наследование и указатели друг на друга, короче все что не нужно алгоритмы там всякие перестановок.... ничего полезного не нашел | |||
| 218
    
        dmpl 18.05.12✎ 14:18 | 
        (215) MSDN, Platform SDK, если под Windows.
  (217) Не там смотришь. | |||
| 219
    
        Fragster гуру 18.05.12✎ 14:36 | 
        я хз, чО там в книгах, но встроенный в QTcreator мануал - прекрасен, лучше чем СП     | |||
| 220
    
        IVIuXa 18.05.12✎ 14:40 | 
        (218)
  типа http://msdn.microsoft.com/ru-ru/library/system.net.sockets.socket.aspx#Y228 нуууу блин мозг ломается bytes = s->Receive( bytesReceived, bytesReceived->Length, static_cast<SocketFlags>(0) ); strRetPage = String::Concat( strRetPage, Encoding::ASCII->GetString( bytesReceived, 0, bytes ) ); не ну его нафиг s->Send( bytesSent, bytesSent->Length, static_cast<SocketFlags>(0) ); | |||
| 221
    
        dmpl 18.05.12✎ 14:43 | 
        (220) Ну и на чем он ломается конкретно?     | |||
| 222
    
        Fragster гуру 18.05.12✎ 14:43 | 
        (221) видимо, на комментарии
  // The following will block until te page is transmitted. | |||
| 223
    
        IVIuXa 18.05.12✎ 14:44 | 
        +(220)
  почти тоже самое у меня на бэйсике - все понятно :) RequestLength.l = ReceiveNetworkData(ConnectionID, *BufferT, MessageSize(i)) CopyMemory(*BufferT, *Buffer+BufferLength, RequestLength) | |||
| 224
    
        IVIuXa 18.05.12✎ 14:45 | 
        (222)
  кстати да, нафига ? | |||
| 225
    
        smaharbA 18.05.12✎ 14:46 | 
        всш работает с апи через врапер, в большинстве будет достаточно и никаких компиляторов     | |||
| 226
    
        smaharbA 18.05.12✎ 14:46 | 
        не важно всш, хта и т.п.     | |||
| 227
    
        Fragster гуру 18.05.12✎ 14:46 | 
        (223) а что непонятно? вызов метода объекта через ->?
  (224) тебе как бы говорят - пока вся страница не передастся - будет выполняться этот цикл | |||
| 228
    
        smaharbA 18.05.12✎ 14:47 | 
        + врапер может быть включон как в скрипт так и в хта     | |||
| 229
    
        IVIuXa 18.05.12✎ 14:48 | 
        (227)
  вот что такое String ? | |||
| 230
    
        smaharbA 18.05.12✎ 14:48 | 
        класс     | |||
| 231
    
        Fragster гуру 18.05.12✎ 14:48 | 
        (229) класс со статическим методом Concat...     | |||
| 232
    
        smaharbA 18.05.12✎ 14:50 | 
        самый луччший это васик, на крайняу сишарп, все си придуманы для садомазо     | |||
| 233
    
        IVIuXa 18.05.12✎ 14:50 | 
        (231)
  во первых может это не класс ? во вторых откуда ты это знаешь ? | |||
| 234
    
        dmpl 18.05.12✎ 14:50 | 
        (223) А от этого не разрывается:
  http://msdn.microsoft.com/en-us/library/ms882964 (229) Класс хитрый. | |||
| 235
    
        Fragster гуру 18.05.12✎ 14:51 | 
        (233) я немного прочитал описание синтаксиса языка     | |||
| 236
    
        IVIuXa 18.05.12✎ 14:51 | 
        (232)
  да да да да да + 100500 да ++++++++++++++++++ :) | |||
| 237
    
        Fragster гуру 18.05.12✎ 14:51 | 
        (233)+ немного прочитал, что такое статические, асбтрактные, виртуальные и прочие плюшки в ООП     | |||
| 238
    
        Fragster гуру 18.05.12✎ 14:51 | 
        (232) куйня     | |||
| 239
    
        IVIuXa 18.05.12✎ 14:52 | 
        (235)
  структура ? а может там уже чет переопределили а может метод класса перегружен, а может еще чего... | |||
| 240
    
        IVIuXa 18.05.12✎ 14:52 | 
        +(239)
  да нафиг я бы разбирался.... | |||
| 241
    
        Fragster гуру 18.05.12✎ 14:55 | 
        (239) чо ты плетешь?     | |||
| 242
    
        IVIuXa 18.05.12✎ 14:56 | 
        (241)
  что именно тебе не понятно ? | |||
| 243
    
        Fragster гуру 18.05.12✎ 14:58 | 
        (242) непонятен твой поток сознания про вызов конкретного статического метода конкретного класса... при чем тут пееропределение, перегрузка и прочее?     | |||
| 244
    
        sapphire 18.05.12✎ 14:59 | ||||
| 245
    
        IVIuXa 18.05.12✎ 14:59 | 
        (243)
  ну может какой нить другой чувак(или я) в начале программы че нить сделал :) потом через месяц пришел и забыл :) | |||
| 246
    
        Fragster гуру 18.05.12✎ 15:02 | 
        (245) ну расскажи мне, что можно сделать со статическим методом класса     | |||
| 247
    
        dmpl 18.05.12✎ 15:05 | 
        (245) А ты не делай так ;) Кстати, что ты к этой строчке привязался? Она просто преобразует число в строку. itoa() или sprintf() никто не отменял.     | |||
| 248
    
        Fragster гуру 18.05.12✎ 15:07 | 
        (247) нифига, оно просто склеивает строки. а Encoding::ASCII - преобразует кодировки     | |||
| 249
    
        Fragster гуру 18.05.12✎ 15:07 | 
        просто там строки не просто нул терминатед, а хитрые     | |||
| 250
    
        IVIuXa 18.05.12✎ 15:09 | 
        (246)
  ничего если знаешь что он статический | |||
| 251
    
        dmpl 18.05.12✎ 15:15 | 
        (248) Ну просто создатели .NET - извращенцы :) Код из (223) вполне можно заменить на
  bytesReceived = recv (ConnectionID, BufferT, BufferTSize, 0); memcpy(BufferT, Buffer+BufferLength, bytesReceived); | |||
| 252
    
        IVIuXa 18.05.12✎ 15:15 | 
        (223)
  причем сами функции типа ReceiveNetworkData я так понял пишутся на том же бэйсике с обращением к апи виндовым либо ассемблерные вставки короче это все работает дико быстро | |||
| 253
    
        dmpl 18.05.12✎ 15:16 | 
        (251) Точнее (Buffer+BufferLength, BufferT, bytesReceived);     | |||
| 254
    
        IVIuXa 18.05.12✎ 15:24 | 
        +(250)
  читаю в книжке : В качестве «краеугольного камня» изучения перегрузки операций мы построим класс String (рис. 11.9-11.11), который управляет созданием и обработкой строк. Стандартная библиотека C++ предоставляет похожий, более надежный.класс string. Как вы помните, мы ввели стандартный класс string в главе 3. Дополнительный пример с классом string рассматривается в разделе 11.13. Сейчас мы воспользуемся перегрузкой операций для создания своего собственного класса String. Сначала мы рассмотрим заголовок класса String и обсудим закрытые данные, используемые для представления объектов String. Затем мы проанализируем открытый интерфейс класса, обсуждая каждую из услуг, которые предоставляет наш класс. Мы обсудим определения элемент-функций класса String. Для каждой перегруженной операции мы рассмотрим код в программе-драйвере, который активирует данную функцию-операцию, и объясним, как работает эта перегруженная функция-операция. Определение класса Рассмотрим заголовочный файл класса String на рис. 11.9. Мы начнем с внутреннего представления String. В строках 55-56 объявляются закрытые элементы данных класса. Наша реализация класса String имеет поле длины length, представляющее число символов в строке, не считая завершающего нуль-символа, и указатель ptr на динамически выделенную память для внутреннего представления строки символов. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |