¿Cómo encontrar (todos) los desbordamientos de enteros en un programa C?

Estoy trabajando en un proyecto grande que generalmente funciona bien, pero muestra problemas graves una vez que el tamaño de los datos de entrada supera algunas limitaciones. Estos problemas (se sospecha) solo se deben a desbordamientos de enteros con signo como estos: int a, o; // Initialize a and o int x = (a+o) >> …

¿Cómo encontrar (todos) los desbordamientos de enteros en un programa C? Leer más »

C/C++ Palabras clave más raras: registro, volátil, externo, explícito [closed]

Juan Humphreys Es difícil decir lo que se pregunta aquí. Esta pregunta es ambigua, vaga, incompleta, demasiado amplia o retórica y no puede responderse razonablemente en su forma actual. Para obtener ayuda para aclarar esta pregunta y poder volver a abrirla, visite el centro de ayuda. Cerrado hace 11 años. ¿Puede darme un resumen rápido …

C/C++ Palabras clave más raras: registro, volátil, externo, explícito [closed] Leer más »

GCC y makefile: solo mostrar errores y advertencias

Tengo un archivo MAKE que compila todos los archivos .c de mi proyecto. Para cada archivo, obtengo el comando de compilación completo impreso en el shell, con todas las opciones y banderas. Esta es la salida de ejemplo para un archivo: arm-none-eabi-gcc -c -mcpu=cortex-m3 -O0 -dM -g -gdwarf-2 -mthumb -fomit-frame-pointer -fverbose-asm -Wa,-ahlms=src/sim/sim_configuration.lst -include ./lib/stm32core/stm32f2xx_conf.h -I …

GCC y makefile: solo mostrar errores y advertencias Leer más »

Google-protobuf: cómo crear uniones utilizando el búfer de protocolo de Google

Sphoorthi Dayanand Actualmente estoy tratando de usar Google Protocol Buffers para el lenguaje C. No estoy seguro de cómo crear una unión C usando GPB. Por ejemplo, con un archivo proto de la siguiente manera: message msgToSend { required Type msg_type=1; //Type is a predefined enum to determine message type optional ReqMsg1 msg1=2; optional ReqMsg2 …

Google-protobuf: cómo crear uniones utilizando el búfer de protocolo de Google Leer más »

configure.in o configure.ac?

Parece que algunos proyectos de autoconf usan un configure.in archivo para generar un configure guión, y algún uso configure.ac. ¿Cuál es la diferencia/ventaja entre usar uno u otro? Es solo una cuestión de estilo. Históricamente, los archivos autoconf se nombraban configure.in. Ahora configure.ac es el esquema de nomenclatura preferido. También se discute en el documentación. …

configure.in o configure.ac? Leer más »

¿Qué significa (vacío**) en C?

numérico25 Buscaría esto, pero honestamente no sabría por dónde empezar porque no sé cómo se llama. He visto variables pasadas a funciones como esta: myFunction((void**)&variable); Lo que me confunde muchísimo porque todos esos me parecen familiares; Nunca los había visto juntos así antes. ¿Qué significa? Soy un novato, así que cuanto menos jerga, mejor, ¡gracias! …

¿Qué significa (vacío**) en C? Leer más »

función de cierre no reconocida – C++

cibertextron Tengo el siguiente fragmento de código en un archivo llamado RaftLog.cc: #include <algorithm> #include <fcntl.h> #include <sys/stat.h> namespace LogCabin { namespace Server { namespace RaftConsensusInternal { namespace FilesystemUtil = Storage::FilesystemUtil; namespace { bool fileToProto(const std::string& path, google::protobuf::Message& out) { int fd = open(path.c_str(), O_RDONLY); if (fd == -1) return false; else close(fd); FilesystemUtil::FileContents file(path); …

función de cierre no reconocida – C++ Leer más »

¿Por qué el proceso hijo devuelve el estado de salida = 32512 en Unix?

Mihran Hovsepyan En mi programa, estoy ejecutando el comando dado y obteniendo resultados (registro y estado de salida). Además, mi programa debe admitir comandos específicos de shell (es decir, comandos que contienen caracteres específicos de shell ~(tild),|(pipe),*). Pero cuando trato de correr sh -c ls | wc en mi directorio de inicio a través de …

¿Por qué el proceso hijo devuelve el estado de salida = 32512 en Unix? Leer más »

¿Cómo hacer que el preprocesador doxygen recurra a subdirectorios?

jakob s. No consigo que el preprocesador doxygen incluya archivos recursivamente. ¿Como hacer esto? Hice un ejemplo que consta de dos encabezados y un archivo Doxygen: subdir/example.h subdir2/example_include.h Doxygen Este es el listado de example.h: #include “example_include.h” typedef struct { float array[ARRAY_LENGTH * 2 – 1]; #if CONDITION == MY_FALSE char optional_char; #endif } ExampleType; …

¿Cómo hacer que el preprocesador doxygen recurra a subdirectorios? Leer más »