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

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

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

    Всего записей: 203 | Зарегистр. 06-02-2007 | Отправлено: 10:40 30-08-2012
    V0lt



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

    Цитата:
    Ну. очевидно, раз у него есть метод GetData, возвращающий непосредственно массив, то массив хранится целым куском.

    Не совсем.
    В описании сказано, что GetData() возвращает ссылку на первый элемент массива.
    А вот тип массива и сам массив выглядят так:

    Код:
    template< typename E, class ETraits = CElementTraits< E > >
    E* m_pData;

    Массив вроде обычный.

    Всего записей: 10499 | Зарегистр. 05-02-2003 | Отправлено: 15:53 30-08-2012
    V0lt



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

    Код:
    #include <atlcoll.h>
     
    class CArrayPadded : public CAtlArray<BYTE>
    {
    protected:
        size_t m_padsize;
     
    public:
        CArrayPadded(size_t padsize)
            : m_padsize(padsize)
        {
        }
     
        size_t GetCount()
        {
            size_t count = __super::GetCount();
            return (count > m_padsize) ? count - m_padsize : 0;
        }
     
        bool SetCount(size_t nNewSize, int nGrowBy = - 1)
        {
            if (__super::SetCount(nNewSize + m_padsize, nGrowBy)) {
                memset(GetData() + nNewSize, 0, m_padsize);
                return true;
            }
            return false;
        }
    };

    При компиляции получаю:

    Цитата:
    error C2011: 'CArrayPadded' : 'class' type redefinition

    Подскажите, что не так?
     
    Добавлено:
    Разобрался. Добавил в начало #pragma once и все заработало.

    Всего записей: 10499 | Зарегистр. 05-02-2003 | Отправлено: 01:40 08-09-2012 | Исправлено: V0lt, 10:31 08-09-2012
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    никто не подскажет по WinInet. надо чтоб приложение использовало уже имеющийся cookie в Internet Explorer-е, и вот чета не получается.
     
    Добавлено:
    и еще такой вапросик, какой длинны может быть кукиш максимально?
     
    Добавлено:
    повезло на второй ответ сразу методом тыка попал - 1536
     
    Добавлено:
    а на первый вапросик - получается только если перерегистрировать внутри приложения кукиш из ИЕ. то есть кукиш не универсальный что ли для библиотеки?

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:26 10-09-2012
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:17 14-09-2012
    MoLnuS



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Всем привет. Такой вопрос возник.
    Необходимо писать программы на C++ и Си, с Паскаля еще привык делать это в Geany. Но с Си возникла проблема.
    Делаю всё вот как здесь:
    http://itedu.ru/docs/how-to-install-mingw-cpp-compiler-and-ide-geany-in-windows
    Параметры среды и все дела настроены, компьютер перезагружен, команды сборки такие же, как в статье.
    А при попытке компиляции\сборки выводит ошибку  
    "Запуск программы невозможен, так как на компьютере отсутствует libgmp-10.dll. Попробуйте переустановить программу." Переустанавливал MinGW - то же самое. Эта библиотека на месте, лежит по адресу, который указал в Path. А всё равно не находит=(
     
    Как исправить? Помогите, пожалуйста.

    Всего записей: 191 | Зарегистр. 21-05-2009 | Отправлено: 10:56 15-09-2012 | Исправлено: MoLnuS, 10:59 15-09-2012
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    если в гугл забить libgmp-10.dll первая страница ссылок полностью посвещена проблеме dll is missing
     
    Добавлено:
    http://stackoverflow.com/questions/6719307/libgmp-10-dll-missing-when-trying-to-compile-gnu-objective-c-under-windows

    Цитата:
    The DLL isn't missing; it can be found in the MinGW-bin directory. On my system:
     
    D:\Opt\MinGW32.11.11\bin\libgmp-10.dll
     
    The problme can easily be fixed by adding the MinGW-bin directory to the PATH:
     
    set path=%path%;D:\Opt\MinGW32.11.11\bin
     
    Now the compiler works fine.
     

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:02 15-09-2012
    MoLnuS



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

    Цитата:
    bomzzz

    Спасибо) Помогло)))
    Теперь новая проблема.Скомпилированные exe шники отказываются запускаться на Win7x64 О_о
    Вестимо из-за того, что 16 разрядные программки делаются. Как комплировать 32-х?
     
    Сам разобрался=))
    Поставил в команду сборки вот это
    D:\MinGW\bin\mingw32-g++.exe
    и все вроде пошло)

    Всего записей: 191 | Зарегистр. 21-05-2009 | Отправлено: 11:20 15-09-2012 | Исправлено: MoLnuS, 11:26 15-09-2012
    TeXpert



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoLnuS
    Цитата:
    Вестимо из-за того, что 16 разрядные программки делаются
    Однако, круто! А почему не предположение, что "32-разрядные делаются", ты же на 64-х разрядной машине? 16-битный компилятор не так-то просто нынче найти (у меня валяется где-то Win 3.1 SDK, я Борлянд как-то в расчет не беру)

    ----------
    Майкудук, Пришахтинск не предлагать!:)
    А на Пирогова приходит снова весенний гомон...

    Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 21:07 15-09-2012
    bomzzz



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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если кто увлекается Qt --- может, подскажете, как в бесплатной версии в Qt Creator создать Toolchain для Intel C++ под Windows (в Linux он там есть)? Попробовал в исходниках покопаться --- долгая морока(. Вся надежда на обещанный скоро Qt Creator 2.6, там вроде кое-какие подвижки намечаются

    ----------
    Майкудук, Пришахтинск не предлагать!:)
    А на Пирогова приходит снова весенний гомон...

    Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 21:24 15-09-2012
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    кстати MASM32, который универсальный и содержит в себе и 16 битный компилятор, выдран из студии.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:32 16-09-2012
    ne_viens

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

    Цитата:
    никто не поможет. есть программа написаная на студии, для запуска требует библиотеки Microsoft Runtime Libruary, и , зараза, в упор не хочет использовать если они рядом в папке лежат, а только если зарегистрированы в системе. нельзя это дело обойти как то?

     
    1. Надо скопировать необходимые dll из C:\windows\winsxs\x86...\ рядом с приложением.
    2. Скопировать сответствующий манифест из C:\windows\winsxs\Manifests\ туда-же под именем microsoft.vc90.crt.manifest.
    3. Выкинуть из манифеста всё лишнее:

    Код:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <noInheritable></noInheritable>
        <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.6161" processorArchitecture="x86" ></assemblyIdentity>
        <file name="msvcr90.dll" />  
        <file name="msvcp90.dll" />
        <file name="msvcm90.dll" />
    </assembly>

    4. Собрать приложение не с встроенным манифестом, а внешним.
    5. Выкинуть из application.exe.manifest токены, поправить версию на необходимую:

    Код:
    <?xml version='1.0' encoding='UTF-8' standalone='yes'?>
    <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level='asInvoker' uiAccess='false' />
          </requestedPrivileges>
        </security>
      </trustInfo>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.6161' processorArchitecture='x86' />
        </dependentAssembly>
      </dependency>
    </assembly>
     

     
    Всё, msvcr90.dll грузится с директории приложения а не с C:\windows\winsxs\x86...

    Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 17:01 16-09-2012
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    огромное спасибо. попробую. уже надежду потерял
     
    Добавлено:

    Цитата:
    Собрать приложение не с встроенным манифестом, а внешним.  

    а что это значит?
     
    Добавлено:
    application.exe.manifest а это что за файл у меня таких нету.
     
    http://rghost.ru/40396564

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:05 16-09-2012
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Линкер это делает по умолчанию, если не включать опцию  /MANIFEST:NO

    Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 17:26 16-09-2012
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:30 16-09-2012
    ne_viens

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

    Цитата:
    ...
    http://rghost.ru/40396564

     
    Там встроенные (в .rsrc) манифесты.
    Moжно попробовать нех редактором подправить. Или вообще удалить редактором ресурсов, и написать внешний манифест.

    Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 17:37 16-09-2012
    bomzzz



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

     
    Добавлено:
    екзешник еще и сжат, надо сначала найти чем

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:44 16-09-2012
    MoLnuS



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

    Цитата:
    Однако, круто! А почему не предположение, что "32-разрядные делаются", ты же на 64-х разрядной машине?  

    Потому как Винда сама выдавала сообщение о 16-ти битности=)
     
    Итак, настроил значит я компилятор пытаюсь делать задачи.
    А мне из консоли на все попытки...улыбается смайл О__о
    Что за???
     
    Пытался вывести код введенного символа - смайл, писал что-то конкретное в принтф - тоже смайл...Из-за чего такое безумие?%)
     
    Win7Ult_x64, Geany 1.22, MinGW (mingw32-g++.exe).
     
    Скрин:

    Всего записей: 191 | Зарегистр. 21-05-2009 | Отправлено: 14:56 17-09-2012 | Исправлено: MoLnuS, 14:59 17-09-2012
    BagaBaga

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос по оператору []. Он может принимать только единственный аргумент ([a]), или же его можно переопределить так, чтобы он принимал два аргумента ([a,b])?

    Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 23:19 19-09-2012
    Открыть новую тему     Написать ответ в эту тему

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