c++- все статьи тега ➜ страница 9


Выход из цикла с помощью внешнего метода

Я программирую с помощью Arduino, и моя программа содержит много циклов while. Когда Arduino получает символ, он должен выполнить некоторые вычисления и вырваться из цикла, в котором он находился, когда он получил символ. Я приведу вам более простой пример (предположим, что i и j равны 0): while (i < 256) { // some calculations #1 i++; if (Serial.available() > 0) { setStringOne = "string one" setStringTwo = "string two" setStringThree = "string th ...

boost proto vs C# дерево выражений

Во-первых, мне интересно, имеют ли обе "функции" одну и ту же цель. Во-вторых, если да (или только частично да), есть ли какое-либо существенное ограничение в boost proto over дерево выражений c# Спасибо ...

Я не могу компилировать в Visual Studio 2010

У меня всегда так много проблем с компиляцией программ в Visual Studio 2010. Я прошу прощения за свою зеленость. Я получаю ошибки LNK и не уверен, что это вызывает их. Я надеюсь, что кто-нибудь сможет заметить что-то из журнала сборки. Наверное, что-нибудь глупое ... Build started 4/8/2012 3:22:37 PM. 1>Project "c:UsersDonalddocumentsvisual studio 2010ProjectsClientServermyClientmyClient.vcxproj" on node 2 (build target(s)). 1>InitializeBuildStatus: Touching "DebugmyClient ...

Перенос кода с c++ на c# - шифрование с помощью закрытого ключа RSA PKCS#1

Я пытаюсь перенести этот фрагмент кода с c++ на c#: ... strPrivateKey = "someBase64EncodedPrivateKey"; long sizeKey = DecodeBase64(strPrivateKey, pKey); const unsigned char* _pKey = pKey; d2i_RSAPrivateKey(&pRSA, &_pKey, sizeKey); ... RSA_private_encrypt(sizeOfMessage, pMessage, pSignature, pRSA, RSA_PKCS1_PADDING); ... Пока вот мой код: var strPrivateKey = "someBase64EncodedPrivateKey"; var bytes = Convert.FromBase64String(strPrivateKey); var rsa = new RSACryptoServiceProvider( ...

проблемы с запуском exe-файла, построенного с помощью Visual Studio на другом компьютере

Я создал клиент-серверное приложение на языке C++ с помощью Visual Studio. Теперь я хочу запустить клиентский exe-файл на другом компьютере (на котором не установлена Visual Studio) но когда я пытаюсь запустить исполняемый файл, он выдает следующее сообщение об ошибке: Это приложение не удалось запустить, потому что приложение конфигурация неверна. Переустановка приложения может исправить это проблема. Как я могу запустить exe-файл, не устанавливая ничего на компьютер? ...

Рефакторинг структуры if-else-if

Как я могу изменить следующий код C++? Я использую C++11 в своей программе void f(int a, int b, int c, int d, int e, int f) { // MAX1..MAX6 are constants, N1..N6 are constants if( a > MAX1) { .. code block 1.. } else if(b > MAX2) { .. code block 2.. } else if(c > MAX3) { .. code block .. } else if(d > MAX4) { .. code block 3 .. } else if(e > MAX5) { .. code block 4 .. } else if(f > MAX6) { ...

Рекомендации по именованию классов/методов C#, предназначенных для замены существующих API

Помимо длинного объяснения, у меня есть ситуация, когда мне нужно в основном повторно реализовать класс .NET framework, чтобы расширить поведение таким образом, который не совместим со стратегией наследования или композиции/делегирования. Вопрос не в том, является ли курс действий, который я должен предпринять, тем, что вы бы сделали или рекомендовали, это скорее вопрос именования/стиля кодирования. Существует ли парадигма для именования классов и методов, которые имеют ту же функциональность, ...

Использование Makefile вместо файлов решения / проекта в Visual Studio (2005)

Есть ли у кого-нибудь опыт использования makefiles для сборки Visual Studio C++ (под VS 2005) В отличие от использования установки project/solution. Для нас способ работы проекта / решения не интуитивно понятен и приводит к взрыву конфигураций, когда вы пытаетесь настроить сборки с определенными флагами времени компиляции. В Unix довольно легко настроить файл makefile, параметры которого по умолчанию переопределяются пользовательскими настройками (или другими настройками конфигурации). Но дел ...

Вычисление нормалей для карты высот

У меня есть небольшая проблема с вычислением нормалей для моей карты высоты. У него странное поведение. В верхней и нижней точках нормали хороши, но в середине они кажутся неправильными. Они освещаются точечным светом. НЕЗАФИКСИРОВАННЫЙ ИСТОЧНИК УДАЛЕН Править: Попробовал 2 новых подхода: Это в лицо-нормально. Это выглядит прекрасно, но вы видите одинокие лица. Position normal = crossP(vectorize(pOL, pUR), vectorize(pOR, pUL)); Я также пытался сделать это для каждой вершины таким образо ...

Как создать универсальную объектную модель для использования в QML?

Я хотел бы знать, есть ли какой-либо макрос или способ, как зарегистрировать модель Qt как свойство QObject. Например, у меня есть AnimalModel (http://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html#qabstractitemmodel). Я знаю, что могу передать его в корневой контекст QuickView QuickView view; view.rootContext()->setContextProperty("myModel", &model); В случае, если у меня есть QObject, зарегистрированный с помощью макросов Qml, я могу передать этот объект для просмотра: vi ...

Что квалифицированный-идентификатор/имя и неквалифицированный-идентификатор/имя?

Мне было интересно, может ли кто-то объяснить эти термины, так как я встречаю их во многих местах. Я знаю некоторые основные теории о них, но не уверен, что я знаю, правильно или неправильно. Так может ли кто-нибудь объяснить эти термины? ...

Приведение указателя к массиву (int* to int[2])

Как мне привести или преобразовать int* в int[x]? В качестве примера я попытался привести указатель int* c = new int[x] к массиву int b[2] int b[2] = { 2, 3 }; int* c = new int[b[1]]; c[0] = b[0]; c[1] = b[1]; c[2] = a; Во-первых, я знаю, что я могу перебирать указатель и массив. Таким образом, преобразуйте указатель в массив с помощью операторов [] для индексации указателя и массива, назначая элементы указателя элементам массива по мере выполнения итерации (например. arr[i] = p[i]). Я хоч ...

Как я могу напечатать QWidget в Qt?

Мне нужно знать, как печатать QWidget в формате PDF. Виджет (QDialog) содержит множество меток, некоторые QPlainTextEdit и фоновое изображение. В диалоговом окне отображается квитанция, все поля которой уже заполнены. Я уже пробовал использовать QTextDocument и html для этой цели, но сложность получения(много изображений и настроек формата) делает вывод html полностью запутанным. Это документ. Приемное изображение ...

Отображение QImage с помощью QtGui

Я новичок в Qt, и я пытаюсь создать простое графическое приложение, которое отображает изображение после нажатия кнопки. Я могу прочитать изображение в объекте QImage, но есть ли простой способ вызвать функцию Qt, которая принимает QImage в качестве входных данных и отображает его? ...

Возврат строки в JavaScript из функции C++

У меня есть класс (JSObject), который реализует интерфейс IDispatch. Класс открыт для JavaScript, запущенного в моем размещенном элементе управления веб-браузером (IWebBrowser2). Смотрите здесь подробнее о том, как это работает: вызов функции C++ из скрипта JavaScript, запущенного в элементе управления веб-браузером Я могу вызвать JSObject из моего кода JavaScript, и я могу получить возвращенные целые числа/длинные числа. Но что-то идет не так, когда функция возвращает строку (BSTR). Это час ...

указатель функции против функторов в C++

В чем разница между использованием функторов и указателей функций? Например //Functor struct add_x { int x; add_x(int y):x(y){} int operator()(int y) { return x+y; } }; //Function int (func)(int x) { return ++x; } std::vector<int> vec(); //fill vec with 1 2 3 4 5 int (*f)(int) = func;//Function pointer std::transform(vec.begin(),vec.end(),f); //approach 1 std::transform(vec.begin(),vec.end(),add_x(1)); //approach 2 Оба подхода ра ...

C++ Win32 не получает DBT DEVICEARRIVAL или DBT DEVICEREMOVECOMPLETE на WM DEVICECHANGE

Я работал над обнаружением вставки/удаления USB. Я реализовал код с помощью CreateWindowEx (), передавая WNCLASSEX, который с моим оконным процессом обратного вызова. При вставке и удалении моего usb я успешно получаю сообщение WM_DEVICECHANGE, но wParam всегда устанавливается в DBT_DEVNODES_CHANGED. Я никогда не получаю ни DBT_DEVICEARRIVAL, ни DBT_DEVICEREMOVECOMPLETE. Я использую то, что получаю, но мне действительно нужно уметь отличать устройство прибытие и удаление, так что я могу пр ...

Qt 5 не может развернуться на SnowLeopard

У меня есть проблема, когда мое приложение не работает на 10.6 Snow Leopard. Я компилирую с этими параметрами: qmake LSPRO.pro -r -spec macx-clang CONFIG+=release CONFIG+=x86_64 В моем файле Pro у меня есть следующие элементы: TEMPLATE = app HEADERS = mainwindow.h app_mediamanager.h api.h tool_htmleditor.h tool_videoencoder.h tool_thumbnaileditor.h SOURCES = main.cpp mainwindow.cpp app_mediamanager.cpp api.cpp tool_htmledit ...

Можно ли получить возвращаемое значение функции потока в C++11?

Если функция имеет не пустое возвращаемое значение и я соединяю его с помощью функции .join, то есть ли способ получить ее возвращаемое значение? Вот упрощенный пример: float myfunc(int k) { return exp(k); } int main() { std::thread th=std::thread(myfunc, 10); th.join(); //Where is the return value? } ...

mm extract epi8 (...) intrinsic, который принимает в качестве аргумента не-литеральное целое число

В последнее время я использую SSE intrinsic int _mm_extract_epi8 (__m128i src, const int ndx), который, согласно ссылке "извлекает целочисленный байт из упакованного целочисленного элемента массива, выбранного индексом". Это именно то, чего я хочу. Однако я определяю индекс через _mm_cmpestri на _m128i, который выполняет упакованное сравнение строковых данных с явными длинами и генерирует индекс. Диапазон данного показателя составляет 0..16 где 0..15 представляет допустимый индекс, а 16 означае ...