Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    Zatupitel



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Rock, предлагаю запретить Интернет, как источник распространения опен-соурс. Если не будет интернета, то не будет источников "халявы", все перейдут на передачу программ на флешках. двд и т.д. Брать код практически будет неоткуда, надо будет искать собратьев-программистов, у кого хоть что-то есть, или писать как самому, так и вскладчину. Цены сразу поднимутся, и наш человечек все же сможет накопить на Порше, а может и на пенсию (ресторанчик) останется деньжат. Ну а почему бы и нет. Закон о суверенном интернете уже принят, так что просто надо в нужный момент дернуть рубильник. И вот оно, чудо - наши программисты будут выделяться в толпе хундаев, бмв и рено - новеньким Порше. Не надо идею распространять глобально, нам хватит локальной версии, ограниченной территорией государства. Появится альтернатива Офиса, может и компиляторы свои начнут писать, а может и дальше что-то начнет развиваться...
     

    Всего записей: 469 | Зарегистр. 31-08-2006 | Отправлено: 09:24 09-11-2020 | Исправлено: Zatupitel, 09:26 09-11-2020
    qupear



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    любой таксист может стать "программистом" после окончания трехмесячных курсов и пойти писать на джаве в банк

    Смотря что писать - скорее всего, просто сопровождение, которое на порядок проще разработки архитектуры. Кроме того, это вопрос сложности тестирования - если задания достаточно сложные, то невнимательный слушатель курсов не сможет получить сертификат. И ещё важно уточнить, как именно проходят курсы - могут быть два часа в неделю, могут быть больше или меньше, а также какой характер заданий, какая сложность, как проверяется. Это к тому, что за три месяца действительно интенсивного и сложного обучения можно неплохо научиться.

    Всего записей: 1055 | Зарегистр. 03-02-2013 | Отправлено: 10:30 09-11-2020
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Бесполезно интернет закрывать, моряки софт на флешках будут привозить. А софт не блок Marlboro, сразу разойдётся по рукам.

    Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 10:34 09-11-2020
    Rock

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zatupitel

    Цитата:
    Rock, предлагаю запретить Интернет, как источник распространения опен-соурс.

    Не пойдет. Я буду против -- я в нем порнуху смотрю.

    Цитата:
    Не надо идею распространять глобально, нам хватит локальной версии, ограниченной территорией государства. Появится альтернатива Офиса, может и компиляторы свои начнут писать, а может и дальше что-то начнет развиваться...

    Я понимаю Ваше желание и боль, но уже все, поздно. Молодым надо реально учиться чему-то другому -- эту профессию просрали. Компиляторы писать не начнут -- при уже имющихся в наличии инфраструктур gcc и LLVM это будет просто бессмысленно. Лично я не вижу способа заинтересовать людей. Если уж COCOM обходили, то выключенный рубильник точно помехой не станет. Кстати, еще один хороший пример того, как open source убил целое направление. Когда-то генераторы лексических и синтаксических анализаторов стоили приличных денег. Типа, тупейшая версия LEX от MKS продавалась за $1000 на одно рабочее место. Еще были (и есть) grammartech, что-то, что в IBM'овском Lonus Notes использовалось (забыл лавку) и еще с десяток. Потом такие генераторы стали использоваться в качестве упражнения толковыми студентами для демонстрации навыков программирования. Они имели только базовую функциональность, не поддерживались, но, в принципе, были достаточными и все вокруг себя убили и превратили в пустыню. В итоге, появился юникод, появились новые фреймворки, а инструментов под них нет. Зайдешь на гитхаб, любопытства ради посмотреть -- сплошные strcmp.
    qupear

    Цитата:
    Кроме того, это вопрос сложности тестирования - если задания достаточно сложные, то невнимательный слушатель курсов не сможет получить сертификат. И ещё важно уточнить, как именно проходят курсы - могут быть два часа в неделю, могут быть больше или меньше, а также какой характер заданий, какая сложность, как проверяется. Это к тому, что за три месяца действительно интенсивного и сложного обучения можно неплохо научиться.

    Вы совершенно правильно мыслите. Курсы реальные, очень серьезные и очень напряженные. Далеко не всем по силам. Да и работа -- клепать формочки в банке на джаве -- так себе (с моей колокольни). Но оплата...
    Вообще интенсивность, целенаправленность и ответственность пиндосов меня просто поражают. Там на пилота гражданской авиации учат не пять лет в институте, как у нас, а девять месяцев. И, типа, им не только хватает, а они лучшие.
    ne_viens

    Цитата:
    Бесполезно интернет закрывать, моряки софт на флешках будут привозить. А софт не блок Marlboro, сразу разойдётся по рукам.

    Во-во. Об этом еще Страуструп в "Design and Evolution of C++ Language" писал. Пиратство -- вообще не сильная помеха программистскому бизнесу. Если лавка украла софт и использует его в производственной деятельности, то к ней просто придет ОМОН и пипец лавке. А домашние пираты, студенты и прочая гопота -- они все равно не купят. А так, привыкнут, устроятся на работу, и поставят работодателя перед фактом: мы умеем работать с вот этим.
    А open source -- это другое. Если попало что-то в его поле зрения, да еще и корпорации профессиональным координаторам заплатили, чтоб краноглазиков организовать -- хана направлению. Соваться туда можно только с головами, как у того же Сысоева или Торвальдса, а такие далеко не у всех и каждого.
    Если уж пошла такая пьянка, расскажу/привлеку внимание к еще одному моменту. Когда рухнул совок и все отсюда ломанулись, понятное дело, что пилить собственную убойную штуку, чтоб потом продать ее за Порше и ресторанчик могли очень немногие. Повально использовалась другая схема, поскромнее. Люди устраивались "официально", типа, трудовую книжку положить, в большую лавку, типа IBM, Microsoft, Oracle и т.п. Ходили туда на работу, занимались там неспешными корпоративными проектами. Но параллельно устраивались в еще один, а кому повезло найти что-то смежное, и в два стартапа с огромными рисками, но и огромными бонусами, если такой стартап выстреливал, например, произведя IPO или тупо продавшись какой-нибудь корпорации или венчурному капиталисту. А стартапы -- это как раз и примеры маленьких лавочек тех амбициозных молодых людей, о которых я говорил выше. Навар поменьше, чем у владельца, но и риски тоже. Из минусов -- колоссальное рабочее напряжение, которое выдерживали тоже не многие. Но теперь стало легче -- open source подобные программистские стартапы здорово проредил.
    Еще менее амбициозные в качестве дополнительного приработка выбирали не программирование, а что-то из торговли недвижимостью, брокерством и прочей мутотой. Особенно этим грешили программисты в Майкрософте, где зарплаты традиционно были и остаются не очень. Типа, поработал не спеша на работе, в выходные продал пару домиков, которые, опять-таки, не спеша подбирал в интернете на работе. А программирование -- ну, почти, только для души. Лепота...

    Всего записей: 1256 | Зарегистр. 10-04-2003 | Отправлено: 11:36 09-11-2020
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Rock

    Цитата:
    Зайдешь на гитхаб, любопытства ради посмотреть -- сплошные strcmp.

    В PEGTL не нашлось. Там в примерах есть генератор abnf2pegtl.
    CTRE - аналогично.
    Это, кстати, о "вреде" шаблонов.
    Есть ещё куча примеров, но мне лень.
     

    Цитата:
    Страуструп в "Design and Evolution of C++ Language" писал.

    Кстати! Отсюда.

    Цитата:
    Сергей Ф.: К слову о красивых новых пушках, в новых стандартах C++ присутствуют функции, которые вас особенно раздражают?
     
    Бьярне: Да нет. Мне кажется, C++20 будет отличным стандартом, мы наконец-то воплотили в жизнь концепции. Я бы хотел внедрить их еще в 1986—1988 годах, когда я создал шаблоны, но не знал, как это сделать. Мы попытались в стандарте C++11, но у нас не получилось все сделать как надо. Я надеялся, что к стандарту С++17 все будет готово, поскольку у нас появилось необходимое понимание, но в итоге, они появятся лишь в С++20. У нас наконец-то появится нормальное обобщенное программирование. Благодаря этому выражения станут четче, проще, и все будет работать намного быстрее. Добавьте к этому constexpr, и вы получите сильно упрощенное обобщенное программирование и сильно ускоренное метапрограммирование во время компиляции.
     
    Другое нововведение, которым я очень доволен, это сопрограммы. Сопрограммы были в основе C++ в первые 10 лет. Я тогда писал симуляции и то, что сегодня называют многопоточными программами, с помощью сопрограмм. Мои симуляции были меньше и быстрее любых аналогов. А также они были меньше и быстрее потоков. Здорово, что мы вернули сопрограммы. Мы когда-то ушли от них потому, что компания Sun не хотела внедрять их в архитектуру Spark, поскольку очевидная реализация управляет стековыми фреймами. Сегодня же мы имеем более быстрые сопрограммы.


    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 12:06 09-11-2020
    Rock

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    data man

    Цитата:
    В PEGTL не нашлось. Там в примерах есть генератор abnf2pegtl.
    CTRE - аналогично.
    Это, кстати, о "вреде" шаблонов.  

    Да ладно, Вы прекрасно понимаете, о чем была речь.
    Кстати, о шаблонах и программистах. Я был свидетелем появления Boost::Spitit, и мне очень понравилась библиотека и программирование с ней. Очевидно, как и все бустовое, в production она не годилась -- безумно медленная, но как поиграйка для написания всевозможных молотков -- выглядела вполне. Через пару недель, когда код вырос, использование Спирита стало технически для меня невозможным, поскольку время компиляции стало не просто раздражать, а переросло в реальную блокирующую помеху. Нужно было тщательно продумывать буквы, прежде чем вбивать их и отправлять на компиляцию, а я уже из другого поколения, не перфокарточного, а х...к-х...к -- и в продакшн. Пытался изобрести для Спирита раздельную компиляцию и предкомпилированные модули, но в том виде, что он был, мне это оказалось не под силу.

    Всего записей: 1256 | Зарегистр. 10-04-2003 | Отправлено: 19:54 09-11-2020
    Rayinad

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Rock
    Ну вот да, "open source" проблема - и как мы будем\можем с ним бороться?

    Всего записей: 80 | Зарегистр. 13-10-2017 | Отправлено: 05:53 25-11-2020
    retu2222

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    кризис расставит всех на места, с коммунизмом/социализмом нельзя бороться, это проигрышная позиция сначала партии, за себя я не переживаю, ибо умею в любой язык, даже чисел...математик по определению программист можно уйти в подполье, писать только в закрытых сетях, меньше говорить, больше слушать, но сила рождает силу, вы просто подтянете волну новых специалистов вашего уровня

    Всего записей: 17 | Зарегистр. 14-11-2020 | Отправлено: 06:27 25-11-2020 | Исправлено: retu2222, 06:30 25-11-2020
    Rayinad

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    retu2222
    Цитата:
    Всего записей: 1
    Кажется кто-то выглянул из подполья)) Про новую волну согласен, походит на правду.

    Всего записей: 80 | Зарегистр. 13-10-2017 | Отправлено: 07:01 25-11-2020
    callidus



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Бесполезно интернет закрывать, моряки софт на флешках будут привозить. А софт не блок Marlboro, сразу разойдётся по рукам.

     
    Раньше так и было, с софтом для муз индустрии например ..

    Всего записей: 545 | Зарегистр. 04-02-2006 | Отправлено: 21:42 25-11-2020
    Rock

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    retu2222

    Цитата:
    кризис расставит всех на места, с коммунизмом/социализмом нельзя бороться, это проигрышная позиция

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

    Всего записей: 1256 | Зарегистр. 10-04-2003 | Отправлено: 23:46 25-11-2020
    senderman

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Мир вступил в эпоху построения информационного общества. Но для его успешного строительства необходимо обеспечить свободное обращение информации. Есть два пути в решении этой задачи. Первый - это не препятствовать свободному обращению информации. Второй насытить деньгами потребителей информации так, чтобы они могли приобретать её без ограничений. Естественно второй путь утопичен. Но ещё более утопичен третий путь, выбранный современным обществом - это модификация второго пути путём изъятия из него денег! Информация продаётся, но денег для её покупки нет! Чтобы заработать нужно секретничать, а чтобы развиваться нужна открытость. Как общество будет справляться с этим противоречием пока неясно. Возможно так -

    Цитата:
    ...продал пару домиков... А программирование -- ну, почти, только для души. Лепота...

    Всего записей: 1488 | Зарегистр. 16-03-2019 | Отправлено: 07:32 28-01-2021 | Исправлено: senderman, 07:47 28-01-2021
    DimitriusXZ

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть программа написанная на VС++ и хранящая свои данные в реестре.
    Есть её исходники.
    Хочу сделать её портабельной.
    Она использует для работы с реестром свой класс.
    Основа класса написана на Win-API.
    Нужно заменить в программе хранение и чтение данных в реестре,
    на хранение и чтение данных из ini-файла в каталоге программы.
    Подскажите какие библиотеки можно использовать для этого?
    Чтобы не переписывать кучу кода.
    Подключить библиотеку.
    Отредактировать имена вызываемых функций.

    Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 11:27 05-02-2021
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Функции
    RegOpenKey()
    RegCreateKey()
    RegOpenKeyEx()
    RegCreateKeyEx()
    RegSetValue()
    RegGetValue()
    RegGetKeyValue()
    RegSetKeyValue()
    RegCloseKey()
     
    надо заменить на
     
    WritePrivateProfileString()
    GetPrivateProfileString()
    GetPrivateProfileInt()
    из Kernel32.lib
     
    Сомневаюсь, что это получится без "переписывать кучу кода".

    Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 12:25 05-02-2021 | Исправлено: ne_viens, 12:29 05-02-2021
    KChernov



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DimitriusXZ

    Цитата:
    Нужно заменить в программе хранение и чтение данных в реестре,
    на хранение и чтение данных из ini-файла в каталоге программы.  

    А есть же специальные программы для изготовления портабельных прог из обычных - может проще такой воспользоваться?
     
     
    ne_viens

    Цитата:
    Функции


    Цитата:
    надо заменить на  


    Цитата:
    Сомневаюсь, что это получится без "переписывать кучу кода".

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

    Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 15:52 05-02-2021
    zedxxx

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    чем если шерстить вызовы из всей программы

    Зачем по всей программе, если "Она использует для работы с реестром свой класс." Достаточно же написать свой класс-замену, который будет обращаться не к реестру, а к ini.

    Всего записей: 1505 | Зарегистр. 14-07-2008 | Отправлено: 15:58 05-02-2021
    KChernov



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Она использует для работы с реестром свой класс

    Ну да, упустил - тогда действительно просто его и переписать

    Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 16:35 05-02-2021
    DimitriusXZ

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Готовые решения для замены WinAPI-функций есть?

    Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 19:18 05-02-2021
    KChernov



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DimitriusXZ
    Вам уже всё ne_viens написал
    Ну или спрашивайте конкретнее

    Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 20:04 05-02-2021
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть класс A, в котором 2 метода Calc на 2 и 3 параметра. Первый метод виртуальный. Есть класс B, который потомок класса A, и в котором переопределяется виртуальный метод. Проблема в том, что в классе B не виден, второй метод.
    Есть решение без переименования методов?
     
    PS: Если в классе B ничего не переопределять, то ошибки компиляции нет.
     

    Код:
    class A
    {
    protected:
        int value = 0;
     
    public:
        virtual void Calc(int a, int b)
        {
            value = a + b;
        }
     
        void Calc(int a, int b, int c)
        {
            value = a + b + c;
        }
    };
     
    class B : public A
    {
     
    public:
        void Calc(int a, int b) override
        {
            value = a * b;
        }
    };
     
    int main()
    {
        A a;
     
        a.Calc(1, 2);
        a.Calc(1, 2, 3);
     
        B b;
        b.Calc(1, 2);
        b.Calc(1, 2, 3); // error C2660: 'B::Calc': function does not take 3 arguments
    }

    Всего записей: 10500 | Зарегистр. 05-02-2003 | Отправлено: 18:23 14-02-2021
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru