powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удобство и скорость разработки в C++
25 сообщений из 168, страница 4 из 7
Удобство и скорость разработки в C++
    #39269784
vitprof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonМеня интересует. Если есть некий интерфейс типа удалённого вызова. На который
приходит не всегда специфицированный объект (сеть фигли). Есть ли у меня возможноть
удостовериться что твои мета-теги или аннотации или еще бох весть какие сущности
присутствуют в наличии. Тоесть что-то вроде:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void remoteHanlde(QtObject *qtNetReceivedObject){
        if (is_a(qtNetReceivedObject, Q_OBJECT)){
             if (has_a(qtNetReceivedObject, Q_PROPERTY(prop="Value")){
                    .... some fucken business logic
             }
        }
}




Как вы привели в примере, нет, конечно. Q_OBJECT это макрос, строка, которую препроцессор заменит на C++ код, это костыль из-за того, что отсутствуют аннотации. Все объекты в Qt, которые "шлют" сигналы и имеют "слоты", наследуются от QObject. Мы можете использовать стандартную C++ RTTI (dynamic_cast, typeof etc), а также навороты Qt типа qt_cast.

Можно сделать так:

Код: plaintext
1.
2.
3.
4.
5.
void remoteHanlde(QObject *qtNetReceivedObject){
         if (qtNetReceivedObject->property("myPropName").toInt() == 10){
                .... some fucken business logic
         }
}



Мой посыл - если бы были аннотации, то можно было бы сделать такую проверку присутствия аннотаций, а также сгенерировать дополнительный C++ код (обработка аннотаций на стадии компиляции).
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274647
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyТочно так же умиляют утверждения что ++iter быстрее чем iter++ )))

это вполне актуальный вопрос на собеседованиях.
действительно, лет так 10-15 назад многие компиляторы для i++ генерировали менее оптимальный код, чем для ++i, и осведомленность об этом говорит о наличии опыта, в годах (не в объеме знаний).

а вот ты об этом не в курсе, что явно выдает в тебе неофита.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274902
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaэто вполне актуальный вопрос на собеседованиях.
действительно, лет так 10-15 назад многие компиляторы для i++ генерировали менее оптимальный код, чем для ++i, и осведомленность об этом говорит о наличии опыта, в годах (не в объеме знаний).

а вот ты об этом не в курсе, что явно выдает в тебе неофита.
Нет, обо мне такой ответ ничего такого не говорит, т.к. я могу его тут же обосновать, прямо в лицо спрашивающему. А вот если на собеседовании мне будут доказывать что постфикс ++ влияет на скорость, то это признак того что в этой конторе вместо работы компостируют мозги, и туда не надо идти.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274911
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskynojavaэто вполне актуальный вопрос на собеседованиях.
действительно, лет так 10-15 назад многие компиляторы для i++ генерировали менее оптимальный код, чем для ++i, и осведомленность об этом говорит о наличии опыта, в годах (не в объеме знаний).

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

господи, ты даже не осилил то, что я тебе сказал выше.

а так да, таких как ты максималистов - нормальные конторы отправляют ... в другие конторы, тут ты прав ;)
буйные максималисты обычно никому не нужны - потом код вычищать за такими себе дороже, тем более ты слушать вообще, как я посмотрю, не научен - тебе важнее высказать что-то там свое, изначально недопонятое или выдуманное вне контекста.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274912
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaтем более ты слушать вообще, как я посмотрю, не научен
Чтобы тебя слушали, надо чем-то вызвать интерес ))
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274918
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskynojavaтем более ты слушать вообще, как я посмотрю, не научен
Чтобы тебя слушали, надо чем-то вызвать интерес ))

ты всерьез думаешь что кому-то интересно вызывать интерес у тех, у кого мозг стандартно зашаблонирован и зацементирован?

ты еще предложи каких староверов саентологией заинтересовать, да да
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274946
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbКакие бонусы мы получили с С11(14)К моему глубокому имхо-вому сожалению, никаких.
Язык фактически стал другим.
С++98 - true C++
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274947
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanCEMbКакие бонусы мы получили с С11(14)К моему глубокому имхо-вому сожалению, никаких.
Язык фактически стал другим.
С++98 - true C++


С11 != С++11, а С14 вообще не существует, господи.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274950
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaUsmanпропущено...
К моему глубокому имхо-вому сожалению, никаких.
Язык фактически стал другим.
С++98 - true C++


С11 != С++11, а С14 вообще не существует
В названии темы речь идет о Си++... поэтому и подумал, что имеется в виду Си++11.
Ок, корректирую, но если касательно Си, тада Си89 - true Си .
nojavaгосподи
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274951
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman тада Си89 - true Си .
практически все актуальные компиляторы уже C99 и partial C11 compatible (даже "родные" в AIX, Solaris, HP/UX), потому такой жескач, как strict C89 - уже не актуален.

даже в MSVC уже не все так печально, ибо привинтили clang как frontend
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274963
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSVC6 (98 г.в.) очень даже актуален. Откомпилил тут недавно свою длл-ку под VC2015 и огреб, т.к. работает она на PentiumIII+, а вторые пни и прочие древние атлоны ее не работают, а они оказывается еще есть, хоть и немного.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274971
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tа вторые пни и прочие древние атлоны ее не работают, а они оказывается еще есть, хоть и не много.
1) Поверить dll с помощью Dependency Walker

2) Как насчет установленных Redistributable Packages для Visual C++?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274974
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Dima Tа вторые пни и прочие древние атлоны ее не работают, а они оказывается еще есть, хоть и не много.
1) Поверить dll с помощью Dependency Walker

2) Как насчет установленных Redistributable Packages для Visual C++?
А при чем тут это, если в коде команды АСМа которые старые процы просто не понимают?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274976
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TА при чем тут это, если в коде команды АСМа которые старые процы просто не понимают?Установка Platform Toolset на v120_xp ни чего не дает?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274983
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TА при чем тут это, если в коде команды АСМа которые старые процы просто не понимают?
не асма, а процессора
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274984
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TА при чем тут это, если в коде команды АСМа которые старые процы просто не понимают?
На всякий случай.
https://msdn.microsoft.com/en-us/library/ms165407.aspx Understanding Build Platforms

https://habrahabr.ru/post/251795/ Visual Studio Extensibility. Часть первая: MSBuild

https://habrahabr.ru/company/neobit/blog/151712/ Использование оболочки Visual Studio 2010 для компиляции проектов с помощью gcc в Linux
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39274990
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TОткомпилил тут недавно свою длл-ку под VC2015 и огреб, т.к. работает она на PentiumIII+, а вторые пни и прочие древние атлоны ее не работают, а они оказывается еще есть, хоть и немного. /G (Optimize for Processor) Options

значения макроса _M_IX86 :

Option in Development EnvironmentCommand-Line OptionResulting ValueBlend/GB_M_IX86 = 600 (Default. Future compilers will emit a different value to reflect the dominant processor.)Pentium/G5_M_IX86 = 500Pentium Pro Pentium II and Pentium III/G6_M_IX86 = 60080386/G3_M_IX86 = 30080486/G4_M_IX86 = 400
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275082
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут поднобности 18816450 опцию /G там не пробовали, сейчас затестил /G5 ничего не меняет.
https://msdn.microsoft.com/en-us/library/h66s5s0e(v=vs.71).aspx These options tell the compiler to optimize code generation for the specified processor.
Как понимаю это просто оптимизация под конкретный проц, а не запрет на использование асм-команд имеющихся только в более поздних процессорах.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275340
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaты всерьез думаешь что кому-то интересно вызывать интерес у тех, у кого мозг стандартно зашаблонирован и зацементирован?ты как-то сам себе противоречишь: с одной стороны, сам говоришь про вещи, которые происходили с конечным кодом 10-15 лет назад, которые уже давно соптимизированы, но надо их помнить и быть в курсе, с другой стороны обвиняешь в инертности мозга.
UsmanК моему глубокому имхо-вому сожалению, никаких.я ещё не доразобрался в вопросе, есть надежда ещё на stl(и boost).
Вердикт мой такой: язык стал лучше. Потому что стал гибче и продуманней, и при этом в него не внесли никакой прикладной начинки - всё это для stl и прочих. Язык остался чистым, и это хорошо.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275524
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbnojavaты всерьез думаешь что кому-то интересно вызывать интерес у тех, у кого мозг стандартно зашаблонирован и зацементирован?ты как-то сам себе противоречишь: с одной стороны, сам говоришь про вещи, которые происходили с конечным кодом 10-15 лет назад, которые уже давно соптимизированы, но надо их помнить и быть в курсе, с другой стороны обвиняешь в инертности мозга.
какой еще инертности мозга? я лишь привел пример "городской легенды", которая имеет место быть на собеседованиях и довольно часто в реальном коде.
ты или знаешь про это, и можешь объяснить, почему вот тогда было так, а сейчас неважно, или нет.

подобных городских легенд из "лучших практик" можно надергать довольно много.
к примеру поймать неофита на предпочтении формы if (expr == variable) перед if (variable == expr)

и тут-же посадить его в лужу, если он выберет первый или второй вариант, потому что правильный ответ в случае приваивания внутри if это форма if ((variable = expr)) - на иное будет ругаться статический анализатор

подобные неактуальные "лучшие практики" кодирования нужно знать - и причины появления, и современное состояние - как нужно на самом деле делать.


ну или задать коронный вопрос зачем нужна конструкция while (1) { do_something; }; или do {} while (1);

вот реально, зачем так писать, зачем там while (1)?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275527
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava
вот реально, зачем так писать, зачем там while (1)?

имелось в виду do { do_something(); } while (0); - причины появления такой идиоматичной формы?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275533
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava, что означает слово 'неофит' в вашем понимании?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275540
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurynojava, что означает слово 'неофит' в вашем понимании?

20..30 летний новичок, который начитался всякой новомодной ерунды поверхам, причем большей частью на каком stackoverflow, но мнит себя экспертом чуть ли не мирового класса.

в частности типовой признак детектор - использование словечек паразитов вроде Factory или Adapter в названии классов.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275547
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaSashaMercurynojava, что означает слово 'неофит' в вашем понимании?

20..30 летний новичок, который начитался всякой новомодной ерунды поверхам, причем большей частью на каком stackoverflow, но мнит себя экспертом чуть ли не мирового класса.

в частности типовой признак детектор - использование словечек паразитов вроде Factory или Adapter в названии классов.

А если человек использует венгерскую нотацию, то он будет 'неофитом'? Всё-таки хотелось бы более детальное описание. Это слабый программист? Или это сноб? Или кто? Опишите пожалуйста более детально
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39275594
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaк примеру поймать неофита на предпочтении формы if (expr == variable) перед if (variable == expr)я всегда использую Йодовскую нотацию, потому что читать экспрешены слева нагляднее, чем внутри кода
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 4 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удобство и скорость разработки в C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]