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

    Lazy New Member

    Joined:
    19 Jul 2011
    Messages:
    95
    Likes Received:
    2
    Reputations:
    3
    Разбираюсь с бустом . Постоянно попадаются сущности типа scoped_ptr , scoped_array , scoped_thread .
    Google translator переводит scoped как "область действия" . Другие переводчики примерно так же .
    Какой будет правильный перевод этого термина в данном контексте ?
     
  2. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    это счётчики указателей массивов потоков
     
  3. GRRRL Power

    GRRRL Power Moderator

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Умные указатели
    http://ru.wikipedia.org/wiki/Получение_ресурса_есть_инициализация
     
    _________________________
  4. Lazy

    Lazy New Member

    Joined:
    19 Jul 2011
    Messages:
    95
    Likes Received:
    2
    Reputations:
    3
    Спасибо . Я правильно понимаю что эти "указатели" на деле являются объектами для монопольного доступа к некоторому ресурсу ? В таком случае это скорее антиуказатели . В том смысле , что в классическом сишном понимании может быть сколько угодно указателей на одну , допустим , область памяти .
     
  5. GRRRL Power

    GRRRL Power Moderator

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Это обертки над указателями, применяемые для разных целей. shared_ptr, например, обеспечивает подсчет ссылок на объект, которым он владеет, и потокобезопасен, а scoped_ptr позволяет обернуть указатель на объект только в пределах области видимости и удалить объект по выходу из области видимости. scoped_array и shared_array - то же самое, но для массивов объектов. И называются эти вещи именно "умные указатели" по-русски.
     
    _________________________
    1 person likes this.
  6. Sifon110

    Sifon110 New Member

    Joined:
    13 Mar 2011
    Messages:
    36
    Likes Received:
    1
    Reputations:
    0
    Здравствуйте. Возникла проблема. Есть необходимость использовать диалог открытия файл на WINAPI. Ну вот почему-то студия не определяет тип структуры OPENFILENAME и говорит, что функцию GetOpenFileName она в первый раз видит. windows.h подключен. Подскажите, в чем может быть проблема.
     
  7. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    942
    Likes Received:
    428
    Reputations:
    139
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms646927(v=vs.85).aspx

    Header Commdlg.h (include Windows.h)
    Library Comdlg32.lib
     
    1 person likes this.
  8. Patronik

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    Чтение UNICODE символов из STDOUT процесса

    У меня есть процесс (cmd.exe) создан через WINAPI функцию CreateProcess. К процессу подключено 2 переменных типа HANDLE из которых в свою очередь созданы пайпы для записи и чтения из процесса.

    Code:
    HANDLE g_hChildStd_IN_Rd = NULL;
    // write to pipe
    HANDLE g_hChildStd_IN_Wr = NULL;
    // read from pipe
    HANDLE g_hChildStd_OUT_Rd = NULL;
    HANDLE g_hChildStd_OUT_Wr = NULL;
    
    ...
    
    bool createCmdSubProcess()
    // Create a child process that uses the previously created pipes for STDIN and STDOUT.
    {  
        SECURITY_ATTRIBUTES saAttr; 
       // Set the bInheritHandle flag so pipe handles are inherited.  
       saAttr.nLength = sizeof(SECURITY_ATTRIBUTES); 
       saAttr.bInheritHandle = TRUE; 
       saAttr.lpSecurityDescriptor = NULL; 
    
       // Create a pipe for the child process's STDOUT. 
       CreatePipe(&g_hChildStd_OUT_Rd, &g_hChildStd_OUT_Wr, &saAttr, 0);
       SetHandleInformation(g_hChildStd_OUT_Rd, HANDLE_FLAG_INHERIT, 0);
    
       // Create a pipe for the child process's STDIN. 
       CreatePipe(&g_hChildStd_IN_Rd, &g_hChildStd_IN_Wr, &saAttr, 0);
       SetHandleInformation(g_hChildStd_IN_Wr, HANDLE_FLAG_INHERIT, 0);
    
    ... 
    
    // кусок кода который читает из процесса
    
            DWORD dwRead; 
    	char chBuf[1000];  // пробовал wchar_t chBuf[1000]; , TCHAR chBuf[1000];, WORD chBuf[1000];, DWORD chBuf[1000];, BYTE chBuf[1000];
    	BOOL bSuccess = FALSE;
    	// Read output from the child process's pipe for STDOUT
    	// Stop when there is no more data.    
    	for (;;) 
    	{ 
    		bSuccess = ReadFile(g_hChildStd_OUT_Rd, chBuf, 1000, &dwRead, NULL);
    		if( ! bSuccess || dwRead == 0 ) { 
    			break;
    		}
    	} 
    
    
    Весь код в принципе рабочий но проблема в том что буквы отличные от английских записываются в буфер с непонятными значениями и при выводе получаются иероглифы.

    Скриншот контента буфера сделан в дебагере:
    http://screencast.com/t/Ifl6oCEU9CwU
    а должно быть такое
    http://screencast.com/t/Tptjkp3d7rT

    Я 2 дня уже немогу найти решения, пробовал менять локаль, ставить директиву #define UNICODE.

    Подскажите если кто знает как корректно читать любые символы из процесса?
     
  9. huntercs16

    huntercs16 Member

    Joined:
    7 Oct 2013
    Messages:
    138
    Likes Received:
    14
    Reputations:
    6
    Кто нибудь настраивал CURL?
    На нетбинсе вылезает ошибка
    undefined reference to `curl_global_init'
    хотя curl.h как в примере подключен
     
  10. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Делаю хук функции WSARecv в серверном приложении (там асинхронное IO). Задача в том чтобы анализировать и изменять содержимое буфферов получаемых приложением которое я хукаю. Анализировать получается на ура, но вот при изменении буфферов - никакой реакции. В чём может быть дело ? Юзаю детоуры.
     
  11. GRRRL Power

    GRRRL Power Moderator

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Код бы показал, со слов же непонятно, как именно ты делаешь.
     
    _________________________
  12. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    Такой вопрос, появилась потребность в использовании регулярок (нпример спарсить ссылки с сайта), использую библиотеку regex эта зараза жрёт 25% двух ядерного проца,
    в то время как регулярка на php жрёт 3%, чёза бред такой? мб regex - дерьмо и давно придумали что-то получше?
     
  13. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,761
    Likes Received:
    816
    Reputations:
    230
    Мб код дерьмо? Мб под профайлером прогнать? Мб boost поиспользовать?
     
    _________________________
  14. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    в коде проблем быть неможет,

    2 строчки которые грузт проц, цикл и стандартная регулярка

    а регеx он разве не из boost ?
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,761
    Likes Received:
    816
    Reputations:
    230
    А зачем многократный вызов regex_search то?
     
    _________________________
    1 person likes this.
  16. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    чтобы найти все варианты которые соответствуют регулярному выражению
     
  17. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    462
    Likes Received:
    38
    Reputations:
    1
    regex_search бустовый. Ты часом не отсюда пример брал?
    И как насчет использования DOM ?
     
    1 person likes this.
  18. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    короче скачал boost и заюзал регулярки из него, он жрал всего лишь 3-5% проца, - вывод, стандартный regex который впихнули в VS - гавно
     
  19. Lazy

    Lazy New Member

    Joined:
    19 Jul 2011
    Messages:
    95
    Likes Received:
    2
    Reputations:
    3
    Что вы думаете о libcurl . Актуальная ли для плюсов эта либа , или сейчас есть что-то лучше . Что-то новое , а я просто не в курсе ? Может в том же бусте ?
    Мне надо парсер написать .
     
  20. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    ну понятное дело актуальная, глпый вопрос
     
Loading...
Thread Status:
Not open for further replies.