Noté por primera vez en 2009 que GCC (al menos en mis proyectos y en mis máquinas) tienen la tendencia a generar un código notablemente más rápido si optimizo el tamaño ( -Os) en lugar de la velocidad ( -O2o -O3), y me he estado preguntando desde entonces por qué. …
Tengo una lista arbitraria de ensamblados .NET. Necesito verificar mediante programación si cada DLL se creó para x86 (a diferencia de x64 o Any CPU). es posible?
He estado leyendo sobre divy muloperaciones de montaje, y decidí ver en acción al escribir un programa sencillo en C: File division.c #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); return 0; } Y luego generar código de lenguaje ensamblador …
Antecedentes: Al optimizar un código Pascal con lenguaje ensamblador incorporado, noté una MOVinstrucción innecesaria y la eliminé. Para mi sorpresa, eliminar las instrucciones innecesarias hizo que mi programa se ralentizara . Descubrí que agregar MOVinstrucciones arbitrarias e inútiles aumentaba aún más el rendimiento . El efecto es errático y los …
Los siguientes enlaces explican las convenciones de llamadas al sistema x86-32 tanto para UNIX (sabor BSD) como para Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html Pero, ¿cuáles son las convenciones de llamadas al sistema x86-64 en UNIX y Linux?
Creo que encontré un error en GCC al implementar PCG PRNG de O'Neill. ( Código inicial en el Explorador del compilador de Godbolt ) Después de multiplicar oldstatepor MULTIPLIER, (resultado almacenado en rdi), GCC no agrega ese resultado a INCREMENT, movabs'ing INCREMENTa rdx, que luego se usa como el valor …
Quiero determinar si un ensamblado nativo se cumple como x64 o x86 desde una aplicación de código administrado ( C # ). Creo que debe estar en algún lugar del encabezado PE ya que el cargador del sistema operativo necesita conocer esta información, pero no pude encontrarla. Por supuesto, prefiero …
Rust tiene enteros de 128 bits, estos se denotan con el tipo de datos i128(y u128para ints sin signo): let a: i128 = 170141183460469231731687303715884105727; ¿Cómo hace Rust para que estos i128valores funcionen en un sistema de 64 bits? por ejemplo, ¿cómo hace aritmética en estos? Dado que, hasta donde yo …
En el Tour x86-64 de los manuales de Intel , leí Quizás el hecho más sorprendente es que una instrucción como MOV EAX, EBXautomáticamente pone a cero los 32 bits superiores del RAXregistro. La documentación de Intel (3.4.1.1 Registros de propósito general en modo de 64 bits en la arquitectura …
Tengo un pequeño dilema sobre cómo configurar las compilaciones de mi estudio visual para la orientación múltiple. Antecedentes: c # .NET v2.0 con p / invocando en DLL de 32 bits de terceros, SQL compact v3.5 SP1, con un proyecto de instalación. En este momento, el destino de la plataforma …
AMD tiene una especificación ABI que describe la convención de llamadas para usar en x86-64. Todos los sistemas operativos lo siguen, excepto Windows, que tiene su propia convención de llamadas x86-64. ¿Por qué? ¿Alguien conoce las razones técnicas, históricas o políticas de esta diferencia, o es una cuestión puramente del …
En su forma actual, esta pregunta no se ajusta bien a nuestro formato de preguntas y respuestas. Esperamos que las respuestas estén respaldadas por hechos, referencias o experiencia, pero es probable que esta pregunta solicite debate, argumentos, encuestas o una discusión extensa. Si cree que esta pregunta se puede mejorar …
Estoy intentando instalar un servicio de Windows usando InstallUtil.exe y aparece el mensaje de error System.BadImageFormatException: no se pudo cargar el archivo o ensamblado ' {xxx.exe}' o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto. ¿Lo que da? EDITAR: (No por OP) Mensaje completo extraído …
Estoy haciendo un trabajo crítico para el rendimiento en C ++ y actualmente estamos usando cálculos de números enteros para problemas que son inherentemente de punto flotante porque "es más rápido". Esto causa muchos problemas molestos y agrega mucho código molesto. Ahora, recuerdo haber leído sobre cómo los cálculos de …