Preguntas etiquetadas con gcc

82
Conflicto entre un tutorial de Stanford y GCC

Según esta película (alrededor del minuto 38), si tengo dos funciones con las mismas vars locales, usarán el mismo espacio. Entonces, el siguiente programa debería imprimirse 5. Compilándolo con gccresultados -1218960859. ¿por qué? El programa: #include <stdio.h> void A() { int a;...

81
¿Por qué la almohadilla GCC funciona con NOP?

He estado trabajando con C por un tiempo y recientemente comencé a entrar en ASM. Cuando compilo un programa: int main(void) { int a = 0; a += 1; return 0; } El desmontaje de objdump tiene el código, pero nops después de ret: ... 08048394 <main>: 8048394: 55 push %ebp 8048395:...

79
Referencia no definida a static const int

Hoy me encontré con un problema interesante. Considere este simple ejemplo: template <typename T> void foo(const T & a) { /* code */ } // This would also fail // void foo(const int & a) { /* code */ } class Bar { public: static const int kConst = 1; void func() {...

79
Vinculación con biblioteca dinámica con dependencias

Considere el siguiente escenario: Biblioteca compartida libA.so, sin dependencias. Biblioteca compartida libB.so, con libA.so como su dependencia. Quiero compilar un archivo binario que se vincule con libB. ¿Debo vincular el binario solo con libB o con libA tampoco? ¿Hay alguna forma de...

23
gcc-10.0.1 Segfault específico

Tengo un paquete R con código compilado en C que ha sido relativamente estable durante bastante tiempo y con frecuencia se prueba en una amplia variedad de plataformas y compiladores (windows / osx / debian / fedora gcc / clang). Más recientemente, se agregó una nueva plataforma para probar el...

20
¿Cómo crea la macro lambda una lambda?

Encontré este fragmento de código en GitHub pero no lo entendí del todo: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Entonces: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 ¿Qué están haciendo los...