Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Владимир2012nojavaи хитрый финт ушами с alloca()/vla, который позволяет объявить и инициализировать структуру на стеке (нужно лишь вернуть sizeof из "конструктора", это тоже скрывается). и выглядит в итоге совсем не уродски:Поучительный CString http://www.kurzenkov.com/Articles/cstring.html Такой прием работы с данными для WIN API Microsoft традиционен /по адресу-1 и далее могут быть много, используемых полей/. Но нас не обманешь! фу, ++сасаshсо. я не это имел в виду. я про то, как реализовать концепцию private/protected в обычном pure C. там в .h файле структура объявляется незавершенной. и фактически тебе доступен только указатель. но для аллокации объекта на стеке тебе нужно или иметь доступ к реализации структуры (т.е. ее полям, и всем зависимостям - объявил ты какое поле socket_t - тяни себе все winsock.h говняшки в видимость) или знать размер. а если можно просто знать размер структуры - тогда ты можешь память на стеке зааллоцировать просто как массив байтов, и сделать преобразование указателя. почему нужно объект на стеке, а не на куче? глупый вопрос - чтоб деструктор не писать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:28 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0kПрикладники и системщики абсолютно разными категориями мыслят и инструменты у них должны быть разделены, что бы не забивали гвозди микроскопом и не ковали блох. Direct3D на C выглядит не особо приятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:30 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилд0kПрикладники и системщики абсолютно разными категориями мыслят и инструменты у них должны быть разделены, что бы не забивали гвозди микроскопом и не ковали блох. Direct3D на C выглядит не особо приятно у Microsoft интерфейсы на C выглядят особо уродски и непродуманно. один ExtTextOut чего стоит, как нагромождение нелепостей https://msdn.microsoft.com/en-us/library/windows/desktop/dd162713(v=vs.85).aspx (если есть rect, нафига x и y, зачем считать байты, если строка заканчивается нулем? и какой дурак вообще придумал lpDx, кто его использует?) на C++ они уже начали хоть как-то прилично писать, хотя большего безумия, чем OLE - не найти. Хотя глядя на образцовую вылизанность C# удивляешься - а это действительно одна компания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:38 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaзачем считать байты, если строка заканчивается нулем? Чтобы не делать копию отображаемой подстроки, это же очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:47 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskynojavaзачем считать байты, если строка заканчивается нулем? Чтобы не делать копию отображаемой подстроки, это же очевидно. это и есть черезжопица. тогда вообще откажитесь от нулевого символа в конце (перейдя на паскалевские строки). а так в одном API налеплено все что угодно, и не только отрисовка, а еще и определение размеров текста. странно что там нет встроенной опции "отформатировать диск C", хотя возможно она просто не документирована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:54 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaи какой дурак вообще придумал lpDx, кто его использует? те, кто в курсе, что такое кернинг и трекинг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:54 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилnojavaи какой дурак вообще придумал lpDx, кто его использует? те, кто в курсе, что такое кернинг и трекинг для 99.9% случаев это и нафиг не впилось, зато место в стеке туда-сюда елозится постоянно. хочется извратов? ну сделай блин контекст (объект), и серией опциональных вызовов выставляй что там тебе надо. и что самое смешное - этот уродский API придумали уже тогда, когда вовсю идеи ООП были популяризированы. просто так сильно пытались за Apple догнаться, что лепили всякую хрень в SDK, лишь бы хоть как-то заработало, думать было видать совсем некогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:58 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaэто и есть черезжопица. тогда вообще откажитесь от нулевого символа в конце (перейдя на паскалевские строки). имеется один длинный массив символов (представляющий слова в тексте), без нулевых терминаторов и счётчиков. выводить требуется отдельные слова (у каждого свой X и Y) так что решение вполне объяснимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 22:59 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaд0kАльтернативы автоматическому вызову деструкторов и строго типизированному подстать языку обработчику исключнний в С всеравно нет. Эти плюшки знатно уменьшают время портаченое на кодинг и отладку, а значит увеличивают производительность труда. деструкторы для web программирования вообще не нужны. Пользовательская сессия может жить столько угодно долго пока пользователь окно не закроет ... моя машина уже 171 день живет ... 22:41:31 up 171 days, 12:08, 40 users, load average: 0.73, 0.92, 0.84 nojavaаналогично с исключениями - они вообще не нужны. мозг типового программиста засран напрочь этой извратной формой goto. Ненада ляля, это не гоуту , это интерфейс для сокращения обема кода, обработки ошибок и передачи управления с автоматическим вызовом деструкторов. в С есть аналогия но ею практически не пользуются, а если пользуются, то только для хаков. nojavaа все что нужно - это почитать про live-to-die в PHP и erlang, для прочистки мозгов, ну и внимательно посмотреть как реализована обработка ошибок в базах данных, тех-же oracle и mysql. сразу наступит нешуточное прозрение. ну ну .... а чем по вашему есть NO_DATA_FOUND в pl/sql ? Без знания принципов обработки исключениq ( полная аналогия с с++) нельзя написать толкового продуктивного кода на pl/sql . nojavaя даже когда говнопрограммил на Delphi - единственное место, где использовал обработку исключения - это окошко с посмертным дампом "все пропало, пишите программисту письмо". ни разу не возникало необхходимости написать хоть какой-то иной код в обработчике исключений, ну а finally писал чисто как обезьянка - сказали писать так, писал, но в виду концепции live-to-die и управляемого освобождения ресурсов и этот код является абсолютно бесполезным. Был у меня когда то коллега , сециалист, которого взяли написать основной цикл вызывая библиотеки других программистов по ТЗ , прикладник вобщем. он не мудрствуюя сделал многоточеный обработчик исключений. В конечном итоге оказалось , что чувак тупо пропускал комиты в базу , , когда приложение висло на блокировках ( MSSQL) его стреляли и БД ролобечилось то, что не должно было . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:01 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaAnatoly Moskovskyпропущено... Чтобы не делать копию отображаемой подстроки, это же очевидно. это и есть черезжопица. тогда вообще откажитесь от нулевого символа в конце (перейдя на паскалевские строки). Вам говорят про конкретного фому ( подстроку) , а вы отвечаете про абстрактного ерему ( делфи строки) ... Терзают меня смутные сомнения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:05 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилnojavaэто и есть черезжопица. тогда вообще откажитесь от нулевого символа в конце (перейдя на паскалевские строки). имеется один длинный массив символов (представляющий слова в тексте), без нулевых терминаторов и счётчиков. выводить требуется отдельные слова (у каждого свой X и Y) так что решение вполне объяснимо ничем оно не объяснимо. создателей C за их null terminated строки нужно публично выпороть, чтоб не повадно было неофитам еще раз запилить подобную глупость - нулевой символ в конце. а же говорил про то - хотите блин передавать оба вида строк - сделайте два отдельных API, к конце то концов, зачем в одну функцию лепить два взаимоисключающих подхода? причем отдельная вырывающая мозг вещь - если ты не хочешь считать байты, то указывай -1, ага при том, что этот cbCount это unsigned int, и любой статический анализатор выносит тебе на этот счет мозг, блин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:06 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaэто и есть черезжопица. тогда вообще откажитесь от нулевого символа в конце (перейдя на паскалевские строки). Напишите в микрософт - они обязательно прислушаются к такому авторитету ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:14 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0knojavaпропущено... это и есть черезжопица. тогда вообще откажитесь от нулевого символа в конце (перейдя на паскалевские строки). Вам говорят про конкретного фому ( подстроку) , а вы отвечаете про абстрактного ерему ( делфи строки) ... Терзают меня смутные сомнения :) при чем тут делфи строки? нет такого понятия. pascal строки - есть такое понятие даже в C++ строки уже имплементированы как вектор (длина + указатель), требование нуля в конце давно забыто. у других и подавно. потому разумно говорить про null-terminated строки и просто строки, во избежание. https://ru.wikipedia.org/wiki/Строковый_тип Представление массивом символов[править | править вики-текст] В этом подходе строки представляются массивом символов; при этом размер массива хранится в отдельной (служебной) области. От названия языка Pascal, где этот метод был впервые реализован, данный метод получил название Pascal strings . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:14 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0kТерзают меня смутные сомнения :) Какие еще сомнения ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:16 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaд0kпропущено... Вам говорят про конкретного фому ( подстроку) , а вы отвечаете про абстрактного ерему ( делфи строки) ... Терзают меня смутные сомнения :) при чем тут делфи строки? У вас хочется спросить причем ? до вас о них в топике не вспоминали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:19 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaа же говорил про то - хотите блин передавать оба вида строк - сделайте два отдельных API, к конце то концов, зачем в одну функцию лепить два взаимоисключающих подхода? это третий вариант - вывод отдельных подстрок без копирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:20 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0knojavaпропущено... при чем тут делфи строки? У вас хочется спросить причем ? до вас о них в топике не вспоминали... про делфи строки это ты приплел. я не говорил про них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:21 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилnojavaа же говорил про то - хотите блин передавать оба вида строк - сделайте два отдельных API, к конце то концов, зачем в одну функцию лепить два взаимоисключающих подхода? это третий вариант - вывод отдельных подстрок без копирования. нет. есть два варианта - строка с длиной и просто строка с нулем на конце. они сделали первый вариант, а кому нужен второй - сказали - "парни, расслабьтесь, и отправляйте блин -1, вам же не лень, да?" что им мешало запилить простейшую функцию обертку, чтоб не заставлять передавать -1 прямо загадка где ты там третий вариант увидел - тоже прямо мистика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:23 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaгде ты там третий вариант увидел - тоже прямо мистика дескриптор строки - указатель и длина, отдельно от данных строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:26 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaа же говорил про то - хотите блин передавать оба вида строк - сделайте два отдельных API, к конце то концов, зачем в одну функцию лепить два взаимоисключающих подхода?Скорее всего они вынуждены были использовать именно такое API потому, что если заглянуть в код реализации функции, то выzснится, что она использует какие-либо иные функции, которые используют именно такого вида параметры. Проще говоря не так то легко "ломать" API, который знают "все". PS: Вообще то WIN API Windows был не плохо продуман /да и создавался он когда - ох как давно/. Даже более правильней можно сказать не об успешности WIN API, а архитектуре Windows в целом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:27 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Модератор: Anatoly Moskovsky и nojava, Вы это... Спорить спорьте, но все-же не нужно друг-друга провоцировать. Будете так же продолжать - оба бан получите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:27 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилnojavaгде ты там третий вариант увидел - тоже прямо мистика дескриптор строки - указатель и длина, отдельно от данных строки. ай блин, ты меня поймал, да :) там еще и атомы есть. старею, память ни к черту! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:29 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Владимир2012PS: Вообще то WIN API Windows был не плохо продуман /да и создавался он когда - ох как давно/. Даже более правильней можно сказать не об успешности WIN API, а архитектуре Windows в целом. не был он продуман, так получилось. этот API тянется с Windows 1.0 особенно доставляет CreateFile для открытия файла на чтение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:31 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Загляните на досуге. Macroscopic Data Structure Analysis and Optimization http://llvm.org/pubs/2005-05-04-LattnerPHDThesis.html и Chris Lattner's Homepage http://www.nondot.org/sabre/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:38 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
ИзопропилВладимир2012PS: Вообще то WIN API Windows был не плохо продуман /да и создавался он когда - ох как давно/. Даже более правильней можно сказать не об успешности WIN API, а архитектуре Windows в целом. не был он продуман, так получилось. этот API тянется с Windows 1.0 особенно доставляет CreateFile для открытия файла на чтение CreateFileMapping. тоже немеряно доставляет, особенно учитывая то, что он появился сильно позже windows 1.0, и судя по всему был вчистую содран с freebsd mmap() но "лишь бы не как у москалей" - не придумали ничего более умного, чем воткнуть пару бессмысленных параметров и переименовать до кучи. а чо? зато своё, незалежное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 23:39 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39286728&tid=2018433]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 283ms |
| total: | 472ms |

| 0 / 0 |
