[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
  2. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Подскажите хороший ман по указателям и ссылкам.
    Прочитал тучу книг.
    Прочитал кучу форумов - люди спорят на много страниц чем отличается ссылка от указателя. Я - новичок, набрав в гугле чем оличается ссылка от указателя попадаю на фоурм ixbt где каждый пытается разъяснить чем оличается и такие навороченные коды привдят...

    Как мне разобраться с указателями и ссылками?
     
  3. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    ссылка на пременную - это синоним по которому к нему можно обратиться
    указатель это переменная значениее которой адрес указывающий на адрес содержащий значение переменной. Я для себя это так понимаю. и мне этого хватает.
     
  4. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Если с англ. нет проблем, тут очень понятно описано что-да как.
     
  5. nMonkn

    nMonkn Member

    Joined:
    4 Jan 2010
    Messages:
    16
    Likes Received:
    5
    Reputations:
    0
    Чтобы лучше разобратся с указателями, напиши простенькую прогрумку аля
    void mail(void)
    {
    char *text = "test";
    MessageBox(NULL, text, "cap", MB_OK);
    return;
    }

    Потом открой ее в отладчике(OllyDbg) и посмотри как используется указатель на текст.


    ЗЫ
    Я сам, пока не посмотрел в отладчике, не до конца понимал принцип указателей.
     
  6. SHARA

    SHARA Elder - Старейшина

    Joined:
    26 May 2007
    Messages:
    69
    Likes Received:
    7
    Reputations:
    0
    А что именно не понятно?
     
  7. Keltos

    Keltos Banned

    Joined:
    8 Jul 2009
    Messages:
    1,558
    Likes Received:
    920
    Reputations:
    520
    Code:
    1>------ Построение начато: проект: keltos, Конфигурация: Debug Win32 ------
    1>Компиляция...
    1>keltos.cpp
    1>c:\projects\keltos\keltos\keltos.cpp(1) : fatal error C1083: Не удается открыть файл предкомпилированный заголовок: Debug\keltos.pch: No such file or directory
    1>Журнал построения был сохранен в "file://c:\Users\DHARMA\Documents\Visual Studio 2008\Projects\keltos\keltos\Debug\BuildLog.htm"
    1>keltos - ошибок 1, предупреждений 0
    ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
    Почитал в гугле, надо сделать так:

    Alt +F7>>C\C++>>Предварительно скомпилированные заголовки >>выбрать: не использовать предварительно скомпилированные заголовки

    После этого все норм компилируется, но в папке Debug нет exeшника. Есть файлы:
    pdb
    idb
    obj
    и BuildLog.

    Помогите..
     
  8. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Code:
    Create Precompiled Header (/Yc)
    эту опцию выбери, и создастся pch файл. Потом обратно use precompiled header
     
  9. Keltos

    Keltos Banned

    Joined:
    8 Jul 2009
    Messages:
    1,558
    Likes Received:
    920
    Reputations:
    520
    ДА создался, но exe не появился.
     
  10. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    F5 нажми. Запустится или нет? Очень сомневаюсь, что ехе не создается.
     
    1 person likes this.
  11. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Как полностью и нормально принять пакет с помощью winsock? (TCP (HTTP))(C++)
    Хотелось бы принять не затрагивая Content-Length, так как была однажды ситуация когда сервер просто не возвращал Content-Length а в конце принятого пакета писалась всякая гадость (к примеру 400 bad request (после 200 ok))
    Прием делаю так:
    Цикл while + проверка на то что вернула нам функция recv, если значение recv -> NULL или SOCKET_ERROR -> break
     
    #4691 wolmer, 29 Jan 2010
    Last edited: 29 Jan 2010
  12. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,023
    Likes Received:
    1,296
    Reputations:
    327

    да никак по сути. вот самое простое но может изза оптимизации...

    77502800 90 nop
    77502801 90 nop
    77502802 90 nop
    77502803 C700 01000000 mov dword ptr ds:[eax],1
    77502809 90 nop
    7750280A 90 nop
    7750280B 90 nop
    7750280C C3 retn
    7750280D 90 nop
    7750280E 90 nop
    7750280F 90 nop
    77502810 C700 02000000 mov dword ptr ds:[eax],2
    77502816 90 nop
    77502817 90 nop
    77502818 90 nop
    77502819 C3 retn
    7750281A > 55 push ebp
    7750281B 8BEC mov ebp,esp
    7750281D 51 push ecx
    7750281E CC int3
    7750281F 8D45 FC lea eax,dword ptr ss:[ebp-4]
    77502822 E8 D9FFFFFF call cspeed.77502800
    77502827 E8 E1FFFFFF call cspeed.7750280D
    7750282C 33C0 xor eax,eax
    7750282E C9 leave
    7750282F C2 1000 retn 10



    а сама прога

    void __stdcall f1(int *v)
    {
    __asm{
    nop
    nop
    nop
    }
    *v = 1;
    __asm{
    nop
    nop
    nop
    }
    }

    void __stdcall f2(int &v)
    {
    __asm{
    nop
    nop
    nop
    }
    v = 2;
    __asm{
    nop
    nop
    nop
    }
    }
    //////////////////////////////////////////////////////////////////////////
    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {

    int d;

    __asm int 3;

    d=0;


    f1(&d);
    f2(d);

    return 0;
    }
     
  13. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Скажите почему так мона:
    char *a = "lalala";
    а так нельзя:
    int *a = 5;
     
  14. Alexan007

    Alexan007 Elder - Старейшина

    Joined:
    29 Jan 2010
    Messages:
    52
    Likes Received:
    10
    Reputations:
    13
    Товарищи, много писал раньше под дос на си, сейчас пересел на вижуал си 2008, не могу понять как увязываются коды и виз часть, и то и другое освоил, а вместе никак, посоветуйте плиз книженцию полезную, с примерчиками, интересует использование вижуал си для написания прикладных мат программ, пишу диплом связанный с этим, за любую помощь заранее спасибо
     
  15. Marchcat86

    Marchcat86 New Member

    Joined:
    30 Jan 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    SlickEdit и компилятор Intel C++

    Всем привет.
    Есть такая IDE называется SlickEdit - очень удобная, можно настроить под себя обсолютно все (юзал под асмом) :)

    И вот какая проблема: подскажите пожалуста как к SlickEdit прикрутить компилятор Intel C++ если это вообще возможно?

    Данный вопрос меня интересует т.к. нужна переносная (на флешке 2ГБ) среда программирования на C++ (т.к. нет возможности на работе установить VS2005 и всего остального конечно тоже)

    Заранее благодарен.
     
  16. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    можно как нибудь по простому подключить длл без .lib? имеется ввиду статическая линковка.
    типо typedef такаято функция в такойто длл. VS2008.
     
  17. al072

    al072 New Member

    Joined:
    25 May 2008
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    Visual C++

    Всем привет! у меня такой вопрос: как в Visual C++ (работаю в Visual Studio 2008), выбрав в мастере создания MFC пункт Dialog Based, поместить на этот стандартный диалог стандартное меню, которое будет содержать файл-> новое окно.(и чтобы при нажатии new window отображалось пустое стандартное диалоговое окно).
     
  18. SHARA

    SHARA Elder - Старейшина

    Joined:
    26 May 2007
    Messages:
    69
    Likes Received:
    7
    Reputations:
    0
    подскажите пожалуйста какой -нибудь хороший задачник по С++ где можно скачать. Гуглил, но ничего не нашел хорошего, или где можно скачать книгу шилдта теория и практика С++
     
  19. Critical

    Critical New Member

    Joined:
    8 Dec 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Вопрос тем, кто знаком с Microsoft Visual C++ 2008 Express Edition (я только начал изучение и знаю очень мало, могут быть не точности):
    Почему нельзя откомпилировать код из одного файла (запустить отладчик)? Ну то есть у меня прога простая на пару действий но я не могу её откомпилировать и запустить. Вот сам код:
    Code:
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    int HackAlert()
    {
        string answer;
        cout << "Are you a hacker? (Y or N)" << endl; 
        cin >> answer;
        if (answer == "N")
           {
           cout << "Huh... I was afraid." << endl;
           }
        else 
        {
             cout << "You are an idiot" << endl;
        }
    getchar();
    return 0;
    }
    int main()
    {
        string password;
        cout << "Enter the password:" << endl;
        cin >> password;
        if (password == "i am a hero")
           {
           cout << "The password is correct!" << endl;
           }
        else 
             {
             cout << "Password is incorrect!" << endl;
             HackAlert();
             }
    getchar();
    return 0;
    }
    Кнопка "Отладка" не доступна (серая и все).
    Может я в чем то ступил или просто не знаю какогото аспекта?
    ПРосто например в Dev-C++ можно написать код, откомпилировать и запустить... А в Microsoft Visual C++ 2008 Express Edition нету простой компиляции...

    P.S.: если в коде есть не точности или ошибки то напишите какие!
     
  20. \\ChaOs//

    \\ChaOs// Member

    Joined:
    26 Feb 2009
    Messages:
    102
    Likes Received:
    26
    Reputations:
    5
    2 Critical Нужно проект создать, а не просто файл с++
     
Thread Status:
Not open for further replies.