gcc

Я пытаюсь выучить язык ассемблера. Я искал и нашел как разобрать .c файл, но я думаю, что он производит некоторую оптимизированную версию программы. Есть ли способ, чтобы я мог видеть точный ассемблерный код, который соответствует моему c-файлу....

В примере кода void foo() { static Bar b; ... } составлен с GCC гарантируется ли, что b будет создан и инициализирован потокобезопасным способом ? в справочной странице gcc, нашел - fno-threadsafe-statics параметр командной строки: не выдавайте дополнительный код для использования подпрограммы,...

С проект на GCC 4.8 в changelog: G++ теперь реализует C++11thread_local ключевое слово; это отличается от ГНУ __thread ключевое слово в первую очередь в том, что она позволяет динамически семантика инициализации и разрушения. К сожалению, эта поддержка требуется штраф во время выполнения для ссылок ...

Я пытаюсь понять, связано ли различное поведение, выставленное gcc против clang в выводе этой простой программы C++11, с ошибкой в clang (Xcode 5.0.2, OS X 10.8.5). Код выглядит следующим образом: #include <iostream> int main() { int matrix[][3]{{1,2,3}, {4,5,6}, {7,8,9}}; auto dyn_matrix = ...

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

у меня была эта проблема в течение последних нескольких дней, и я не могу понять, что на самом деле происходит здесь, или в чем проблема. у меня есть Makefile с этими флагами: CC = arm-linux-gnueabihf-gcc-4.6 FLAGS = -O3 -march=armv7-a -mtune=cortex-a9 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp -std=gnu...

Я хочу написать прошивку C-кода для микроконтроллеров Atmel AVR. Я скомпилировать его с помощью GCC. Кроме того, я хочу включить оптимизацию компилятора (-Os или -O2), поскольку я не вижу причин не включать их, и они, вероятно, будут генерировать лучший способ сборки быстрее, чем писать сборку вручную. но я ...

Я пытался скомпилировать в этом примере программы используете GCC (проверенные версии 4.5.1, 4.6.3, 4.8.4): #include <iostream> #include <iomanip> #include <ctime> #include <chrono> using std::chrono::system_clock; int main() { system_clock::time_point now = system_clock::now();...

используя GCC 6.3, следующий код C++: #include <cmath> #include <iostream> void norm(double r, double i) { double n = std::sqrt(r * r + i * i); std::cout << "norm = " << n; } создает следующую сборку x86-64: norm(double, double): mulsd %xmm1, %xmm1 subq ...

Я играю с некоторым кодом asm, и что-то беспокоит меня. Я скомпилировать этот: #include <stdio.h> int main(int argc, char** argv){ printf("Hello Worldn"); return 0; } С gcc file.c -S -o file.S это создает хороший маленький кусочек кода asm: .cstring LC0: .ascii "Hello World" .text ...