¿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);
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?
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 ++.