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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Aleksandr N

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

    Цитата:
    Собрать в 6 студии.

    А в 2010 никак? А "6" это MVS 2003 или как?
     
    Как не работает, точно не кажу. Вызываю функцию, а в ответ тишина. Я принципиально хотел избавится от MSVCR100 т.к. это не стандартная библиотека ОС.
    Честно говоря, C++ это не моя епархия, решил воспользоваться чужим трудом.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 20:30 27-09-2011
    bomzzz



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

    Цитата:
    Я принципиально хотел избавится от MSVCR100

    положи эту дллку в папаку с программой из папки систем32

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:07 27-09-2011
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    И это конечно выход. Может как-то можно самим проектом?

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 21:13 27-09-2011
    bomzzz



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

    Цитата:
    "энергозатратность" способа с перечислением окон очень порадовала)))  

    я как ассемблерный любитель привередливый. для Си програмирования 6000 (условных) тактов не число
    условных потому что на самом деле процессор в защищенном режиме разделяет время между процессами, и пока все это выполниться, процессор несколько раз переключится между процессами, а значит тактов затратится гораздо больше, и что оптимизировать код нужно еще прикунуть как данные кода и сам код будут жить в кеше
    Добавлено:
    Aleksandr N
    в смысле самим проектом? я чисто так ляпнул. плохо это тем что придется эту дллку (кстати еще прописанную в реестре) придется подкладывать не ко дной проге а ко всем кто ее использует. можно конечно в реестре путь исправить но тогда это тоже самое что ее в систем32 положить
    вот даже в ассемблере, а в ассемблер многие приходят из Си, эту дллку используют

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:15 27-09-2011 | Исправлено: bomzzz, 21:21 27-09-2011
    Aleksandr N

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

    Цитата:
    в смысле самим проектом?

    В смысле поставить какую-нибудь директиву, чтобы использовалась MSVCRT.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 21:43 27-09-2011
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:44 27-09-2011 | Исправлено: bomzzz, 21:51 27-09-2011
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Ладно, спасибо всем, помозгую на досуге.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 21:52 27-09-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://s2.ipicture.ru/uploads/20110927/5AkU4q4m.png
    хотя у меня самого ее нет, но как видишь первую сишную дллку мне подложил драйвер мыши, в первые 15-30 минут после установки системы

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:54 27-09-2011 | Исправлено: bomzzz, 03:25 28-09-2011
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сейчас ещё раз взглянул на место проживания проекта. У автора есть поддержка 64-битности. При этом 64-битная библиотека опять использует MSVCRT.dll. Получается она компилировалась никак не в 6-й студии. Тогда опять встаёт тот-же вопрос, может как-то можно принудительно включить MSVCRT в проект?

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 22:23 27-09-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Master_Profi
    Как избежать запуска нескольких экземпляров приложения
    http://rsdn.ru/article/baseserv/avins.xml
     
    простой пример на масме, правда только для одного экземпляра
    Подробнее...
    конечно здорово что микрософт позаботился о нас. совершенно непонятно что будет если процесс закончится нештатно и не освободит мьютекс, хотянаверняка и это решено. вообщем можно сделать так: запускать экземпляры приложения как треды одного единственного экземпляра. а один процесс разбереться сколько тредов запущено. наверняка можно еще проще придумать

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:05 28-09-2011 | Исправлено: bomzzz, 03:31 28-09-2011
    Master_Profi

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

    Цитата:
    Как избежать запуска нескольких экземпляров приложения  
     


    Цитата:
    Как избежать запуска нескольких экземпляров приложения  
    http://rsdn.ru/article/baseserv/avins.xml  

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

    Цитата:
    простой пример на масме, правда только для одного экземпляра  
    Подробнее...  

    ну для одного экземпляра я сразу мог сделать, это легко) с мьютексом даже не разбирался чесно говоря
    вообще очень как по мне очень тупая логика! уж извините, задачи надо давать такие, чтобы их можно было решать...т.е. давать всю необходимую информацию для этого, которая наталкивает на решение, а я вот этого не увидел вообще как бы ( это я про книгу откудого взята эта задача, автор Ганеев - можете посмотреть, 1-ая глава).

    Всего записей: 68 | Зарегистр. 13-11-2010 | Отправлено: 20:20 28-09-2011
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:24 28-09-2011
    Master_Profi

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

    Всего записей: 68 | Зарегистр. 13-11-2010 | Отправлено: 22:56 28-09-2011
    Qraizer



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    О, господи.
    Код:
    HANDLE hMutex = CreateMutex(NULL, FALSE, _T("2B23BB31_663A_4cfc_9C0D_62E123E7899B__startMutex"));
     
    if (WaitForSingleObject(hMutex, 0) == WAIT_TIMEOUT)
    {
      CloseHandle(hMutex);
      return;
    }

     
    Добавлено:
    Сложно, аж жуть. Лентяи.

    ----------
    Одни с годами умнеют, другие становятся старше.

    Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 00:25 29-09-2011 | Исправлено: Qraizer, 00:28 29-09-2011
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:55 29-09-2011
    karakurt2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Рихтера почитай. На русском. Там эти дела классно описаны.

    Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 01:55 29-09-2011 | Исправлено: karakurt2, 01:56 29-09-2011
    alls2011

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите кто сможет.
     
    Есть код такой:
     

    Код:
     
    ..........
    template <class T, T (*FS)(const char*), const HG_String (*TS)(T)>  
    class IE_UTILS_API HG_Numeric
    {
       public:
     
          HG_Numeric();
          HG_Numeric(T);
          HG_Numeric(const char*);
          HG_Numeric(const HG_String&);
     
          HG_Numeric& operator=(T v);
     
          operator T() const;
          bool isSet() const;
     
          const HG_String toString() const;
     
       private:
     
          T m_num;
          bool m_isSet;
    };
    ....................
     
    //
    // HG_Bool
    //
     
    typedef HG_Numeric<bool,atob, bool_to_str> HG_Bool;
     
     
    //
    // HG_Char
    //
     
    typedef HG_Numeric<char,atoc,char_to_str> HG_Char;
     
     
    //
    // HG_Short
    //
     
    typedef HG_Numeric<short,atos,short_to_str> HG_Short;
     
    //
    // HG_Double
    //
    double hg_atof(const char *sz);
    typedef HG_Numeric<double,hg_atof,double_to_str> HG_Double;
     
    .................
     
     

     
     
    Так вот ругается:
     
    hg_numeric.h(145) : error C2440: 'specialization' : cannot convert from '' to 'const class HG_String (__cdecl *)()'
            None of the functions with this name in scope match the target type
    hg_numeric.h(145) : error C2975: 'HG_Numeric' : invalid template argument for 'TS', constant expression expected
    hg_numeric.h(68) : see declaration of 'HG_Numeric'
    hg_numeric.h(153) : error C2440: 'specialization' : cannot convert from '' to ' (__cdecl *)(const char *)'
            None of the functions with this name in scope match the target type
    hg_numeric.h(153) : error C2975: 'HG_Numeric' : invalid template argument for 'FS', constant expression expected
    hg_numeric.h(68) : see declaration of 'HG_Numeric'
    hg_numeric.h(153) : error C2440: 'specialization' : cannot convert from '' to 'const class HG_String (__cdecl *)()'
            None of the functions with this name in scope match the target type
    hg_numeric.h(153) : error C2975: 'HG_Numeric' : invalid template argument for 'TS', constant expression expected
    hg_numeric.h(68) : see declaration of 'HG_Numeric'
    hg_numeric.h(161) : error C2440: 'specialization' : cannot convert from '' to ' (__cdecl *)(const char *)'
            None of the functions with this name in scope match the target type

     
    Компилирую в VS 6

    Всего записей: 1 | Зарегистр. 29-09-2011 | Отправлено: 13:49 29-09-2011
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ещё один вопрос.
    Помогите перевести на нормальный C++, чтобы можно было откомпилировать на 64-бит.
     
    unsigned int BSwap(unsigned int Num)
    {
        _asm {
            mov eax, Num
            bswap eax
            mov Num, eax
        }
     
        return Num;
    }
     
    Спасибо.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 22:02 29-09-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N
    даже не знаю стоит ли на си переделывать. яне знаю как ассемблерную вставку на си делать но врядли сложно, там даже синтаксис специальный попадался
     
       
    http://it-library.org/articles/?c=7&&a=308
     
    это тебе надо шестнадцатиричную константу и формулу написать с логическими операциями, если анологичного оператора нет в Си
     
    Добавлено:

    Цитата:
    unsigned int BSwap(unsigned int Num)  

    так это у тебя и есть вставка.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:07 29-09-2011 | Исправлено: bomzzz, 22:10 29-09-2011
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Я-же говорил, С++ я не знаю, пытаюсь перекомпилировать чужую библиотеку, а на этой функции затыка... А ругается на АСМу
     
    "error C4235: использовано нестандартное расширение: ключевое слово "_asm" данной архитектурой не поддерживается"
     
    и т.д. по коду.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 22:57 29-09-2011
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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