Я использую Inter-Thread Communication, используя глобальную переменную. //global var volatile bool is_true = true; //thread 1 void thread_1() { while(1){ int rint = rand() % 10; if(is_true) { cout << "thread_1: "<< rint <<endl; //thread_1 prints some stuff if(rint == 3) is_true = false; //here, tells thread_2 to start printing stuff } } } //thread […]
Во время оптимизации программы, пытаясь оптимизировать цикл, который выполняет итерацию через вектор, я обнаружил следующий факт: :: std :: vector :: at () EXTREMELY медленнее, чем оператор []! Оператор [] в 5-10 раз быстрее, чем у () , как в релизах, так и в отладочных assemblyх (VS2008 x86). Читая немного в Интернете, я понял, что […]
У меня есть решение со многими проектами на Visual C ++, все с использованием PCH, но некоторые из них содержат специальные компиляторы для конкретных проектов. Большинство из этих проектов имеют один и тот же набор заголовков в их соответствующих stdafx.h (STL, boost и т. Д.). Мне интересно, можно ли поделиться PCH между проектами, чтобы вместо […]
Я добавил несколько каталогов, библиотек, таких как matlab, opencv и т. Д., Чтобы скомпилировать мой текущий файл C в проекте Visual Studio. Все мои предстоящие проекты потребуют одинаковых настроек / свойств. Нужно ли мне индивидуально настраивать свойства каждого проекта, или я могу что-то сделать, чтобы применить его ко всем?
В настоящее время я работаю над большим и старым C ++-приложением, в котором много разработчиков передо мной. В проекте есть много «мертвого кода», classов и функций, которые больше не используются кем-либо. Какие инструменты доступны для C ++ для анализа большой базы кода для обнаружения и реорганизации мертвого кода? Примечание. Я не говорю о инструментах для […]
если я определяю свои константные переменные в моем заголовке, как это … extern const double PI = 3.1415926535; extern const double PI_under_180 = 180.0f / PI; extern const double PI_over_180 = PI/180.0f; Я получаю следующую ошибку 1>MyDirectX.obj : error LNK2005: “double const PI” (?PI@@3NB) already defined in main.obj 1>MyDirectX.obj : error LNK2005: “double const PI_under_180” […]
В Visual Studio 2010, в разделе VC++ Directories > Executable Directories , я указал путь к glew32d.dll . Однако, когда я запускаю исполняемый файл, он все еще жалуется. С другой стороны, если я копирую DLL в локальную папку и запускаю исполняемый файл, то он не жалуется. Может кто-нибудь, пожалуйста, скажите мне, как это исправить? Кроме […]
Я видел исходный код Qt следующим образом: class Q_CORE_EXPORT QBasicAtomicInt { public: … }; Какой макрос Q_CORE_EXPORT определяется следующим образом: define Q_DECL_IMPORT __declspec(dllimport) Так что же означает __declspec(dllimport) ?
Что такое выравнивание стека? Почему он используется? Могут ли они контролироваться настройками компилятора? Подробности этого вопроса взяты из проблемы, возникающей при попытке использовать библиотеки ffmpeg с msvc, однако то, что меня действительно интересует, является объяснением того, что такое «выравнивание стека». Детали: Когда запущена моя программа, совместимая с msvc, которая ссылается на avcodec, я получаю следующую […]
Альтернативные маркеры – это допустимые ключевые слова c ++, но в Visual Studio 2013 следующее испускает ошибку компиляции (необъявленный идентификатор): int main(int argc, const char* argv[]) { int k(1), l(2); if (k and l) cout << "both non zero\n"; return 0; } С тех пор and or not было вокруг в течение довольно долгого времени, […]