[ 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. Apathy

    Apathy New Member

    Joined:
    25 Aug 2011
    Messages:
    41
    Likes Received:
    0
    Reputations:
    0
    объясните как создать многопоточное приложение, использующее idhttp, и синхронизировать потоки
    интересуют доки тип вот этих только под с++ http://avtuh.ru/2010/10/10/delphi-videourok-mnogopotochnost-i-sinxronizaciya.html
     
  2. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    если ваша цель начать самому разбиратся то вот это прочтите как минимум а дальше только практика и опыт
    ---------------------------------------------------------------------
    Джеффри РИХТЕР
    WINDOWS
    Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows
    ГЛАВА 6 Базовые сведения о потоках
    ГЛАВА 7 Планирование потоков, приоритет и привязка к процессорам
    ГЛАВА 8 Синхронизация потоков в пользовательском режиме
    ГЛАВА 9 Синхронизация потоков с использованием объектов ядра
    ГЛАВА 10 Полезные средства для синхронизации потоков
    ГЛАВА 11 Пулы потоков
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Джонсон М. Харт
    Системное программирование в среде WINDOWS
    ГЛАВА 7 Потоки и планирование выполнения
    ГЛАВА 8 Синхронизация потоков
    ГЛАВА 9 Влияние синхронизации на производительность
    ГЛАВА 10 Усовершенствованные методы синхронизации потоков
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Александр Побегайло
    Системное программирование в WINDOWS
    ГЛАВА 5 Синхронизация
    ГЛАВА 6 Синхронизация потоков в WINDOWS
    ГЛАВА 7 Взаимоисключающий доступ к переменным
    ГЛАВА 8 Тупики
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Эндрю Таненбаум
    Современные операционные системы
    ГЛАВА 2 Процессы и потоки
    ГЛАВА 3 Взаимоблокировка
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    М.Руссинович Д.Соломон
    ГЛАВА 6 Процессы, потоки и задания
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     
  3. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    Да.. это книга супер .. всем советую ..
     
  4. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Ищу source программ, которые работают со SMART таблицами (удаление, правка, добавление). Желательно на СИ, если есть на asm - тоже интересно.
    Другие не предлагать :)
     
  5. St1ch.

    St1ch. New Member

    Joined:
    31 Aug 2011
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    Привет всем!
    Подскажите пожалуйста, какие есть хорошие книги по C++? Хочу выучить язык, но затрудняюсь в выборе. :)
     
  6. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    St1ch.
    http://forum.antichat.ru/thread89681.html
     
  7. variselus

    variselus New Member

    Joined:
    21 Jul 2011
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    Всем привет. Есть два фрагмента с++ кода. Первый в переменную szData заносит исходник html-страницы.
    Code:
        BOOL bSend = ::HttpSendRequest(hRequest, NULL,0, NULL,0);
    	char  szData[4096];
        if (bSend) {
                DWORD dwBytesRead;
                BOOL bRead =::InternetReadFile(
                    hRequest,
                    szData,sizeof(szData)-1,
                    &dwBytesRead);
    		szData[dwBytesRead] = 0;
    
    Второй элемент вставляет полученый результат в INPUT поле неконсольного приложения
    Code:
    this->textBox1->Text = ""+szData;
    :confused: Но при компиляции программы пишет:
    Code:
    error C2664: void System::Windows::Forms::Control::Text::set(System::String ^): невозможно преобразовать параметр 1 из "char [4096]" в "System::String ^"
    Проблема состоит в несоответствии типа переменной во втором элементе кода... :mad:
    Помогите плиз сконвертировать переменную и разобраться с этой проблемой :confused:
     
  8. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    this->textBox1->Text = ""+szData;

    char * + char * не складываются.
     
  9. variselus

    variselus New Member

    Joined:
    21 Jul 2011
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    это не сложение... это стыковка))
    P.S. блин... ктонибудь знает ответ??
     
  10. X-rus

    X-rus Member

    Joined:
    22 Dec 2010
    Messages:
    88
    Likes Received:
    22
    Reputations:
    4
    variselus
    Попробуй так:
    Code:
    String^ str = gcnew String(szData);
    this->textBox1->Text += str;
     
    #6710 X-rus, 31 Aug 2011
    Last edited: 31 Aug 2011
  11. variselus

    variselus New Member

    Joined:
    21 Jul 2011
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    спс огромное тебе за всё)) работает))
     
  12. variselus

    variselus New Member

    Joined:
    21 Jul 2011
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    Вот фрагмент кода с++ программы
    Code:
    HINTERNET hInternet =::InternetOpen(
                TEXT("WinInet Test"),
                INTERNET_OPEN_TYPE_PRECONFIG,
                NULL,NULL,
                0);
    	if (hInternet == NULL) {
        err1 = "Не удалось подключиться!";
    	}
    	else {err1 = "Подключение выполнено!";}
    
    при компиляции пишет предупреждение...
    Code:
    C++ CodeDOM parser error: Line: 81, Column: 14 --- Unknown type 'HINTERNET'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built.
    
    Вроде все нормально... как только пытаюсь открыть конструктор (как вы уже догадались, юзаю visual 2010 :D) это предупреждение каким-то магическим способом привращается в ошибку... и конструктор отказывается открываться... прога работает... но без конструктора не весело))

    Помогите разобраться)) :mad:
     
    #6712 variselus, 31 Aug 2011
    Last edited: 31 Aug 2011
  13. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Задался вопросом : как сконвертить int64 в double без потери битового порядка?
    reinterpret_cast не работает.

    UPD:
    PHP:
          /// workaround to return incorrect value of double      
          
    double *pResult = &result;
          
    Int64  *pVal reinterpret_cast<Int64*>(pResult);
          *
    pVal NAN
     
    #6713 tim-oleksii, 2 Sep 2011
    Last edited: 2 Sep 2011
  14. Once

    Once New Member

    Joined:
    24 Aug 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Друзья, с сокетами работать пока не очень умею, начал разбираться на одном из примеров в интернете, но увы.. ) может кто подскажет чего не хватает, чтобы гет запрос мой прошёл без косяков ) вываливается на определении хоста по имени..
    Code:
    #include <stdlib.h>
    #include <iostream>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netdb.h>
    #include <string.h>
    
    char host_name[] = "77.88.21.3"; ;
    char message[] = {
    		  "GET /index.html/HTTP/1.1\r\n"
    		  "Host: yandex.ru\r\n"
                      "User-Agent: Mozilla/5.0\r\n"
                      "Accept: text/html\r\n"
                      "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
    		  "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"
    		  "Connection: keep-alive\r\n\r\n"
    		};
    char buffer[5000];
    
    int main()
    {	
        std::cout<<host_name<<std::endl<<message<<std::endl;
        int sock;
        struct sockaddr_in addr;
        struct hostent* raw_host = gethostbyname(host_name);
        if (raw_host == NULL){
    	std::cout<<"Host error"<<std::endl;
    	exit(0);
        }	
        sock = socket(AF_INET, SOCK_STREAM, 0);
        if (sock < 0){
    	std::cout << "Socket error" << std::endl;
    	exit(1);
        }
        addr.sin_family = AF_INET;
        addr.sin_port = htons(80);
        addr.sin_addr.s_addr = ((struct in_addr *)raw_host->h_addr_list[0])->s_addr;
        if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0){
    	std::cout << "Connect error" << std::endl;
            exit(2);
        }
        send (sock, message, sizeof(message), 0);
        recv (sock, buffer, sizeof(buffer), 0);
        std::cout << buffer;
        close(sock);
    
        return 0;
    }
    
    Да, забыл сказать.. пишу под линукс.
     
    #6714 Once, 8 Sep 2011
    Last edited: 8 Sep 2011
  15. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Как можно штатными средствами языка С заменить функцию floor() из math.h?
     
  16. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    PHP:
    double a 5.6;
    int b a//вот тебе и floor
     
    1 person likes this.
  17. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Преобразование в int.
     
  18. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Написать С процедуру для определения размещения точки относительно направленного отрезка(спереди, сзади, справа, слева, на отрезку).
    Это все надо еще и нарисовать, рад любой помощи, даже идейной.
     
  19. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Чем рисуешь?
     
  20. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    еще не определился, на чем легче/лучше?
     
Thread Status:
Not open for further replies.