Тут размещают свои топики новички в С/С++.

Тема в разделе "LANGS.C", создана пользователем nitrotoluol, 4 мар 2007.

  1. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    конечно нет :) но он всегда так делает ;)
    Все hi-level компиляторы генерируют код хуже чем люди-спецы по асму, но компиляторы С++ от intel и несколько хуже M$ генерируют лучший код из всех существующих на сегодня компиляторов языков под win платформу, их код даже несмотря на лишние команды бывает лучше простого и логичного кода на асме :) (пример) и чтобы его обогнать нужно выпендриваться ;)

    PS правда код стандартных библиотек C++ отвратительный.
     
  2. glaz

    glaz New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2008
    Сообщения:
    1
    При установке Visual C++ пишет you have one or more of the following Visual Studio 97 applications running. а на компе не установлен Visual Studio 97. что делать?
     
  3. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    glaz
    дистрьюбьютив кривой
    найди нормальный
     
  4. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Такая проблемка...
    Если собирать дебуг-версию так:
    Код (Text):
    1. cl.exe ... /Zi /c source.c
    2. rc.exe /n /v resource.rc
    3. cvtres.exe /nologo /machine:ix86 /out:"resource.cvt" resource.res
    4. link.exe .../DEBUG source.obj resource.cvt
    пишет - fatal error LNK1103: debugging information corrupt; recompile modulе
     
  5. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    Сгенерированные модули удали из каталога.
     
  6. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    CrystalIC Мимо..
     
  7. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Aspire
    Поищи в этом топике -- уже обсуждалась такая проблема.
     
  8. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Aspire
    > пишет - fatal error LNK1103: debugging information corrupt; recompile modulе
    Надо смотреть на исходные данные, которые ты скармливаешь компилятору, компилятору ресурсов и редактору связей.

    Прицепил работающий пример, картинка из OllyDbg тому подтверждение.
    Я использую vct и psdk (вначале makeit.bat к ним настраиваются пути).
    Запускать сборку "makeit.bat foo.c".
    Появится exe'шник и pdb'шник.
     
  9. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Aspire
    Если мой пример тоже выдаст ошибку, то огласи версии своих cl, rc, cvtres и link.
    Я использую:
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
    Microsoft (R) Windows (R) Resource Compiler Version 5.2.3690.0
    Microsoft (R) Windows Resource To Object Converter Version 7.00.9466
    Microsoft (R) Incremental Linker Version 7.10.3077

    соответственно.
     
  10. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Проблема была из-за несоответсвия версий rc, cvtres и link фалов.
    Решилась, соответсвенно, нахождением их последних версий, которые у меня валялись по разным папкам, после этого еще пришлось в туже папку запихнуть RcDll.Dll, mspdb80.dll и msobj80.dll.
    Все работает, всем спасибо!
     
  11. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    всем привет~

    валиден ли след. Си-код:
    Код (Text):
    1. const double h = 0.001;
    2. double differentiate(double f(double), double x){
    3.     return (f(x+h) - f(x)) / h;
    ? не врублюсь, чем явл здесь первый аргумент ф-ции -- на указатель на ф-цию непохоже в данной записи.
     
  12. meduza

    meduza New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    212
    varnie
    да, валиден (если поставить закрывающую '}' в конце функции (ты опечатался наверное)).
    первый аргумент - указатель на функцию, по стандарту в аргументах можно писать и "double f(double)" и "double (*f)(double)" - разницы нет никакой, ибо в С(++) функции - не first-class объекты.
     
  13. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    meduza
    угу. теперь понял, благодарю.
     
  14. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    как заставить msvc всегда генерить jmp rel32?
    __asm
    {
    jmp m1
    m1:
    }
    генерит EB 00 а мне нада E9 00 00 00 00

    jmp near xxx некатит =\
     
  15. meduza

    meduza New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    212
    GoldFinch
    опять пытаешся из Си сделать ассемблер...
     
  16. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.784
    GoldFinch
    __asm
    {
    db 0E9h,0,0,0,0
    } [​IMG]
     
  17. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    GoldFinch
    Код (Text):
    1.   __asm jmp dword ptr m1
    2. m1:
     
  18. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Mikl___
    __asm не поддерживает db

    задавать байты можно только так:
    __asm _emit 0xE9 __asm _emit 0 __asm _emit 0 __asm _emit 0 __asm _emit 0
     
  19. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    q_q
    спасибо, помогло

    upd:
    как это ни странно, "jmp $+5" тоже генерит опкод E9
     
  20. pop_punk

    pop_punk Максим

    Публикаций:
    0
    Регистрация:
    10 дек 2008
    Сообщения:
    3
    Адрес:
    Йошкар-Ола
    Привет всем! =)
    Помогите плз..
    Дано натуральное число N. Выяснить, есть ли среди чисел

    3 2 3
    i - 17 * i * N + N (i=1,2,...,N)

    хотя бы одно число, кратное двум и не кратное трем.