Разбираюсь с бустом . Постоянно попадаются сущности типа scoped_ptr , scoped_array , scoped_thread . Google translator переводит scoped как "область действия" . Другие переводчики примерно так же . Какой будет правильный перевод этого термина в данном контексте ?
Спасибо . Я правильно понимаю что эти "указатели" на деле являются объектами для монопольного доступа к некоторому ресурсу ? В таком случае это скорее антиуказатели . В том смысле , что в классическом сишном понимании может быть сколько угодно указателей на одну , допустим , область памяти .
Это обертки над указателями, применяемые для разных целей. shared_ptr, например, обеспечивает подсчет ссылок на объект, которым он владеет, и потокобезопасен, а scoped_ptr позволяет обернуть указатель на объект только в пределах области видимости и удалить объект по выходу из области видимости. scoped_array и shared_array - то же самое, но для массивов объектов. И называются эти вещи именно "умные указатели" по-русски.
Здравствуйте. Возникла проблема. Есть необходимость использовать диалог открытия файл на WINAPI. Ну вот почему-то студия не определяет тип структуры OPENFILENAME и говорит, что функцию GetOpenFileName она в первый раз видит. windows.h подключен. Подскажите, в чем может быть проблема.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646927(v=vs.85).aspx Header Commdlg.h (include Windows.h) Library Comdlg32.lib
Чтение 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. Подскажите если кто знает как корректно читать любые символы из процесса?
Кто нибудь настраивал CURL? На нетбинсе вылезает ошибка undefined reference to `curl_global_init' хотя curl.h как в примере подключен
Делаю хук функции WSARecv в серверном приложении (там асинхронное IO). Задача в том чтобы анализировать и изменять содержимое буфферов получаемых приложением которое я хукаю. Анализировать получается на ура, но вот при изменении буфферов - никакой реакции. В чём может быть дело ? Юзаю детоуры.
Такой вопрос, появилась потребность в использовании регулярок (нпример спарсить ссылки с сайта), использую библиотеку regex эта зараза жрёт 25% двух ядерного проца, в то время как регулярка на php жрёт 3%, чёза бред такой? мб regex - дерьмо и давно придумали что-то получше?
в коде проблем быть неможет, 2 строчки которые грузт проц, цикл и стандартная регулярка а регеx он разве не из boost ?
короче скачал boost и заюзал регулярки из него, он жрал всего лишь 3-5% проца, - вывод, стандартный regex который впихнули в VS - гавно
Что вы думаете о libcurl . Актуальная ли для плюсов эта либа , или сейчас есть что-то лучше . Что-то новое , а я просто не в курсе ? Может в том же бусте ? Мне надо парсер написать .