Articles of gcc

¿Cómo establecer una variable en GCC con ensamblado en línea de syntax Intel?

¿Por qué este código no establece la temp en 1? ¿Cómo hago eso? int temp; __asm__( “.intel_syntax;” “mov %0, eax;” “mov eax, %1;” “.att_syntax;” : : “r”(1), “r”(temp) : “eax”); printf(“%d\n”, temp);

¿Cuál es la “vstring” de GCC?

Leí un informe de errores de GCC y la gente hablaba de “vstring”. Al buscar en la WEB, me di cuenta de que http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/vstring_8h.html . ¿Puede alguien dar más detalles sobre para qué sirve y para qué sirve? ¿Por qué usarlo en lugar de std :: string?

¿Por qué no se puede hacer que el tamaño de una matriz estática sea variable?

Posible duplicado: podemos darle una dimensión variable al tamaño de la matriz estática? Estoy definiendo una matriz en uno de los archivos secundarios de la siguiente manera. static int arr[siz]; Aquí siz es una variable global disponible para el archivo secundario. Pero el comstackdor gcc produce el siguiente error: : : error : storage size […]

Implementación de funciones anidadas

Recientemente descubrí que gcc permite la definición de función anidada. En mi opinión, esta es una característica interesante, pero me pregunto cómo implementarla. Si bien no es difícil implementar llamadas directas de funciones anidadas pasando un puntero de contexto como un argumento oculto, gcc también permite tomar un puntero a una función anidada y pasar […]

Tabla de vinculación de proceso y tabla de compensación global

Estoy leyendo este artículo en PLT (tabla de vinculación de procesos) y GOT (tabla de compensación global) . Si bien el objective de PLT es claro para mí, todavía estoy confundido acerca de GOT. Lo que he entendido del artículo es que GOT solo es necesario para las variables declaradas como extern en una biblioteca […]

¿Por qué la división entera por -1 (negativo) resulta en FPE?

Tengo una asignación de expandir algunos comportamientos aparentemente extraños del código C (ejecutándose en x86). Puedo completar fácilmente todo lo demás, pero este realmente me ha confundido. Fragmento de código 1 salidas -2147483648 int a = 0x80000000; int b = a / -1; printf(“%d\n”, b); El fragmento de código 2 no genera nada y proporciona […]

¿Pueden los diferentes dialectos de GCC vincularse?

Sé que, en principio, este es probablemente un comportamiento indefinido, pero en el interés de tratar con un gran proyecto, esta es mi pregunta sobre GCC: Supongamos que compilo una unidad de transacción con gcc -std=c++98 y otra con -std=c++11 , utilizando exactamente la misma instalación del comstackdor. ¿Hay algún tipo de garantía de que […]

¿El desplazamiento a la derecha aritmético da un resultado falso?

Debo estar absolutamente loco aquí, pero gcc 4.7.3 en mi máquina está dando el resultado más absurdo. Aquí está el código exacto que estoy probando: #include using namespace std; int main(){ unsigned int b = 100000; cout <>b) <> b; cout << b <>= b; cout << b << endl; return 0; } Ahora, cualquier […]

Múltiples problemas de “no se pudieron resolver” usando Eclipse con minGW

Recientemente instalé (las últimas versiones de) ‘Eclipse IDE para C / C ++ Developers’ y minGW (4.8.1) para ayudarme a volver a C ++ después de un largo tiempo de distancia. He agregado -std=c++11 a Other flags en C/C++ Build/Settings/Tool Settings/GCC C++ Compiler/Miscellaneous Tengo un pequeño progtwig que utiliza varias funciones de C ++ 11 […]

¿Qué significa !! (x) en C (especialmente el kernel de Linux)?

He estado leyendo el kernel de Linux (específicamente, 2.6.11). Me encontré con la siguiente definición: #define unlikely(x) __builtin_expect(!!(x), 0) (de linux-2.6.11 / include / linux / compiler.h: enlace 61 lxr ) Que hace !! ¿realizar? ¿Por qué no usar (x)? Ver también: ¿Cómo funciona la negación lógica en C? Double Negation en código C ++.