La (Interfaz binaria de aplicación) especifica la interfaz de bajo nivel entre los programas, las bibliotecas y el sistema operativo. P.ej. qué registros se utilizan para pasar parámetros de función.

Más sobre abi...

En el estándar C99 introdujeron long long. ¿Cuál es el propósito de esto? En mi (limitada) experiencia de programación en C, solo he visto un int de 4 bytes y uno de 8 bytes de longitud. Por ejemplo, desde Compiler Explorer: Si long ya es 8, ¿por qué es necesario agregar otro tipo long long? ¿....
10 ene. 2021 a las 01:20
No existe el concepto de ABI (Interfaz binaria de aplicación) en Hyperledger fabric como está en Ethereum / Quorum. Se genera un archivo ABI en Quorum mientras se compila el contrato inteligente (código de cadena), que la aplicación cliente utiliza además como referencia a la definición de funci....
Busqué en google y encontré que el kernel de Linux usa una estructura para las variables. #define EMBEDDED_LEVELS 2 struct nameidata { struct path path; struct qstr last; struct path root; struct inode *inode; /* path.dentry.d_inode */ unsigned int flags; unsigned se....
Recientemente me encontré con la siguiente función en el SDK público de una aplicación en la que trabajo: virtual char* ExtentName() {return "";} Cuando compilo la aplicación usando Visual Studio con el indicador /permissive-, la función anterior causa el siguiente error de compilación: error C2440....
22 nov. 2019 a las 01:48
Traté de instalar mi aplicación en el dispositivo Android9 x86, falló con el error: INSTALL_FAILED_NO_MATCHING_ABIS He buscado mucho y he probado todas las soluciones terminan en fracaso. Añadido abiFilters y divisiones abi in gradle, todavía estoy enfrentando el problema. Sé que hay muchas pregunta....
Estaba buscando una etiqueta de enlace. De https://kernelnewbies.org/FAQ/asmlinkage Este es un #define para alguna magia gcc que le dice al compilador que la función no debe esperar encontrar ninguno de sus argumentos en los registros (una optimización común), sino solo en la pila de la CPU. En cuan....
7 nov. 2019 a las 05:34
En primer lugar, he sido desarrollador de Objective C durante años, y alrededor del tiempo en que se anunció Swift, mantenía principalmente proyectos existentes de Obj C. La oportunidad nunca llegó a invertirse completamente en una aplicación Swift, ya sea desde cero o para mantenerla. Mis esfuerzos....
23 oct. 2019 a las 02:18
Estoy viendo la charla de Chandler Carruth en CppCon 2019: No hay abstracciones de costo cero En él, da el ejemplo de cómo se sorprendió por la cantidad de gastos generales en que incurres al usar un std::unique_ptr<int> sobre un int*; ese segmento comienza aproximadamente en el punto de tiempo 17:2....
11 oct. 2019 a las 13:19
Actualmente tengo el problema de que necesito construir una aplicación donde parece que las bibliotecas están compiladas con diferentes versiones de c ++. Cuando construyo obtuve los errores undefined reference std::__cxx11::basic_string en una biblioteca y cuando construyo con -D_GLIBCXX_USE_CXX11_....
11 sep. 2019 a las 17:51
Problema: Estoy conectando una nueva biblioteca compartida al proyecto. Está cargado con enlaces dinámicos en tiempo de ejecución. Esta nueva biblioteca compartida está llamando a otras bibliotecas compartidas. Si el proyecto se compila con la bandera -O0, todo funciona bien. Si el proyecto se com....
28 ago. 2019 a las 14:12
Con el encabezado paraguas Swift para el proyecto agregado, Objective-C puede acceder a los métodos de clase Swift. ¿Cómo puede Objective-C llamar a los métodos Swift, pero C no puede hacerlo sin trabajar con el problema de cambio de nombre? ¿Podría proporcionar detalles sobre esto? ¿No es estable ....
12 jun. 2019 a las 15:27
Específicamente en el contexto de el SysV x86-64 ABI Si tengo una estructura con solo dos campos, como: typedef struct { void *foo; void *bar; } foobar_t; Y lo paso a una función con una definición como esta: foobar_t example_function(foobar_t example_param); El ABI parece decir que cada c....
6 jun. 2019 a las 21:15
Si obtengo una variable bool y establezco su segundo bit en 1, la variable se evalúa como verdadera y falsa al mismo tiempo. Compile el siguiente código con gcc6.3 con la opción -g, (gcc-v6.3.0/Linux/RHEL6.0-2016-x86_64/bin/g++ -g main.cpp -o mytest_d) y ejecute el ejecutable. Obtienes lo siguiente.....
30 may. 2019 a las 00:58
Estoy leyendo sobre el relleno de estructura en C aquí: http://www.catb.org/ esr / estructura-embalaje /. No entiendo por qué el relleno determinado durante el tiempo de compilación para las variables / estructuras asignadas en la pila es válido semánticamente en todos los casos. Déjame darte un ....
9 may. 2019 a las 20:45
Hay muchos consejos que dicen que no se deben usar campos de bits, sino hacer la aritmética de bits manualmente (por ejemplo, ¿Cuándo usar campos de bits en C?) porque los diseños de campos de bits están definidos por la implementación. ¿Es esto prácticamente un problema? Me di cuenta de que el SysV....
4 may. 2019 a las 16:09
Me preguntaba si el compilador usaría un relleno diferente en los sistemas de 32 bits y 64 bits, así que escribí el código a continuación en un proyecto simple de consola VS2019 C ++: struct Z { char s; __int64 i; }; int main() { std::cout << sizeof(Z) <<"\n"; } Lo que esperaba en cad....
30 abr. 2019 a las 14:38
Estoy desarrollando una aplicación para mi empresa y nos enfrentamos a un problema. Hemos importado una biblioteca (no la nuestra, la compramos) y no funcionó sin configurar el abiFilters en ndk { abiFilters "armeabi", "x86" } Que hizo que la biblioteca funcione pero Salesforce SDK tiene errore....
Sé que para los programas completos esto es imposible debido a los formatos de archivo ejecutables y las llamadas al sistema, sin embargo, si tiene un archivo con: int add(int a, int b) { return a + b; } ¿Podría compilarlo como un archivo de objeto o una biblioteca estática en Li....
Sé que un "comportamiento indefinido" en C ++ puede permitir que el compilador haga lo que quiera. Sin embargo, tuve un bloqueo que me sorprendió, ya que supuse que el código era lo suficientemente seguro. En este caso, el problema real ocurrió solo en una plataforma específica que utiliza un comp....
10 ene. 2019 a las 04:39
Me gustaría aprender D, pero no he entendido bien una cosa importante. ¿Cómo es el estado actual de interoperabilidad entre C ++ y D? Estoy seguro de que es imposible enlazar a binarios compilados de C ++, ya que ni siquiera funciona con compiladores de C ++. Pero, ¿qué pasa si tengo el código fuent....
Constantemente recibo esta advertencia mientras construyo mi código de estudio de Android usando el comando de terminal gradle clean assembleRelease: Unable to strip library 'lib.so' due to missing strip tool for ABI 'ARMEABI'. Packaging it as is. Ayúdenme a resolver esta advertencia. Nota: Sé que e....
22 nov. 2018 a las 23:28
Tengo curiosidad si marcar una clase C ++ derivada existente como final para permitir optimizaciones de des-virtualización cambiará ABI cuando se usa C ++ 11. Mi expectativa es que no debería tener ningún efecto, ya que veo esto principalmente como una pista para el compilador sobre cómo puede optim....
20 nov. 2018 a las 10:10
En x86_64 / Linux, compilado con gcc / clang -O3: void void_unspec0(),void_unspec1(),void_unspec2(),void_unspec3(),void_void(void); void call_void_void() { void_void(); void_void(); void_void(); void_void(); void_void(); } void call_void_unspec() { void_unspec0(); void_....
8 nov. 2018 a las 03:27
Para mi proyecto de diploma, estoy tratando de usar Android Studio para portar mi proyecto de C ++ a Android. Mi proyecto de C ++ incluye mi propio código y biblioteca que fue desarrollado antes que yo. En primer lugar, intenté compilar el código fuente de esta biblioteca en una biblioteca compartid....
15 oct. 2018 a las 23:15
Para una aplicación de Windows de 32 bits, ¿es válido usar memoria de pila debajo de ESP para espacio de intercambio temporal sin disminuir explícitamente ESP? Considere una función que devuelve un valor de coma flotante en ST(0). Si nuestro valor está actualmente en EAX, por ejemplo, PUSH EAX FLD....
10 sep. 2018 a las 16:00