Как просмотреть символы в объектных файлах?

Как я могу просматривать символы в a .o файл? нм не работает для меня. Я использую g++ / linux. ...

Какой самый быстрый способ обновить переменную в условии?

у меня есть указатель, ptr, и условие cond. Мне нужен самый быстрый способ сбросить ptr Если cond - это true, или держать ptr без изменений, если cond - это false. Текущая реализация, тривиально: void reset_if_true(void*& ptr, bool cond) { i ...

Можно ли предположить, что векторное хранилище STL всегда является непрерывным?

если у вас есть вектор STL, который был изменен, безопасно ли взять адрес элемента 0 и предположить, что остальная часть вектора будет следовать в памяти? например vector<char> vc(100); // do some stuff with vc vc.resize(200); char* p = & ...

C++11: как псевдоним функции?

если у меня есть класс Foo в Bar имен: namespace bar { class Foo { ... } }; тогда я могу: using Baz = bar::Foo; и теперь это так же, как я определил класс в моем пространстве имен с именем Baz. можно ли сделать то же самое для функции? na ...

Как оценить накладные расходы на переключение контекста потока?

Я пытаюсь улучшить производительность резьбового приложения с крайними сроками в режиме реального времени. Он работает на Windows Mobile и написан на C / C++. У меня есть подозрение, что высокая частота переключения потоков может вызвать ощутимые нак ...

C++: может ли структура наследовать от класса?

Я смотрю на реализацию API, который я использую. Я заметил, что структура наследуется от класса, и я остановился, чтобы обдумать его... во-первых, я не видел в руководстве C++, которое я изучал, что структура может наследовать от другой структуры ...

Как выполнять атомарные операции в Linux, которые работают на x86, arm, GCC и icc?

каждая современная ОС предоставляет сегодня некоторые атомарные операции: Windows имеет Interlocked* API FreeBSD есть <machine/atomic.h> Солярис <atomic.h> Mac OS X имеет <libkern/OSAtomic.h> что-нибудь подобное для Linux? м ...

Повреждение кучи под Win32; как найти?

я работаю над многопоточный C++ приложение, которое развращает кучу. Обычные инструменты для обнаружения этого повреждения кажутся неприменимыми. Старые сборки (18 месяцев) исходного кода демонстрируют то же поведение, что и самый последний релиз, ...

Различные результаты между gcc и clang при компиляции довольно простой программы на c++11

Я пытаюсь понять, связано ли различное поведение, выставленное gcc против clang в выводе этой простой программы C++11, с ошибкой в clang (Xcode 5.0.2, OS X 10.8.5). Код выглядит следующим образом: #include <iostream> int main() { int ma ...

Почему порядок подстановки аргументов шаблона имеет значение?

C++11 14.8.2 -Вывод Аргумента Шаблона -[temp.deduct] 7 подстановка происходит во всех типах и выражениях, которые используются в типе функции и в объявлениях параметров шаблона. Выражения включают в себя не только постоянные выражения, ...

Что такое оператор "" в C++?

упал на на этой странице где автор говорит о стандартизация оператора "": решение комитета по стандартам C++ для стандартизация operator "" бывший.[ ..] о чем он говорит? Я не могу найти никакой информации об этом, и я не понимаю, что это мож ...

Суффикс ULL на числовом литерале

я наткнулся на такой код: line += addr & 0x3fULL; очевидно, что 'U' и ' L ' не являются шестнадцатеричными цифрами. Я предполагаю, что' ULL ' в конце этого шестнадцатеричного числового литерала означает "Unsigned Long Long" - я прав? (такого ...

Почему деструктор вызывается для объекта, который не удаляется?

struct A { ~A() = delete; }; int main() { new A{}; } это не удается скомпилировать с сообщением об ошибке: ошибка: использование удаленной функции ' A::~A()' новый A{}; Как я понимаю, я не уничтожаю объект, так почему о ...

Каково фактическое использование ключевого слова "signed"?

Я знаю, что целые числа без знака являются только положительными числами (и 0) и могут иметь двойное значение по сравнению с обычным int. Есть ли разница между int variable = 12; и: signed int variable = 12; когда и почему вы должны использова ...

Определение int64 t

Я новичок в C / C++, поэтому у меня есть несколько вопросов о базовом типе: а) можете ли вы объяснить мне разницу между int64_t и long (long int)? В моем понимании, оба являются 64-битными целыми числами. Есть ли какая-то причина, чтобы выбрать од ...

Странное использование `?: `in` typeid ' код

в одном из проектов, над которыми я работаю, я вижу этот код struct Base { virtual ~Base() { } }; struct ClassX { bool isHoldingDerivedObj() const { return typeid(1 ? *m_basePtr : *m_basePtr) == typeid(Derived); } Base *m_basePtr; }; ...

Есть ли причина для использования if(1//!Фу ())?

Я прочитал некоторые устаревшие коды: if ( 1 || !Foo() ) есть ли видимая причина, почему не писать: if ( !Foo() ) ...

Правильный способ инициализации структур C++

наш код включает в себя структуру POD (простая старая структура данных) (это базовая структура c++, в которой есть другие структуры и переменные POD, которые должны быть инициализированы в начале.) основываясь на том, что у меня есть читать кажется, ...

rand () между 0 и 1

таким образом, следующий код делает 0 r = ((double) rand() / (RAND_MAX)) почему имея r = ((double) rand() / (RAND_MAX + 1)) сделать -1 не должно ли добавление одного к RAND_MAX сделать 1 Edit: я получал предупреждение: переполнение целого ...

Статическая функция объявлена, но не определена в C++

Я получаю сообщение об ошибке со следующим кодом на C++. Главная.cpp #include "file.h" int main() { int k = GetInteger(); return 0; } .h static int GetInteger(); .cpp #include "file.h" static int GetInteger() { return 1; } ошибка ...