Preguntas etiquetadas con c

C es un lenguaje de programación de uso general utilizado para la programación del sistema (SO e incrustado), bibliotecas, juegos y multiplataforma. Esta etiqueta debe usarse con preguntas generales sobre el lenguaje C, como se define en el estándar ISO 9899 (la última versión, 9899: 2018, a menos que se especifique lo contrario; también etiquete las solicitudes específicas de la versión con c89, c99, c11, etc.). C es distinto de C ++ y no debe combinarse con la etiqueta C ++ en ausencia de una razón racional.

4
Impresión de la almohadilla izquierda con espacios
¿Cómo puedo rellenar una cadena con espacios a la izquierda cuando uso printf? Por ejemplo, quiero imprimir "Hola" con 40 espacios antes. Además, la cadena que quiero imprimir consta de varias líneas. ¿Necesito imprimir cada línea por separado? EDITAR: Para que quede claro, quiero imprimir exactamente 40 espacios antes de …
114 c  formatting  printf 


5
Marco de pila dañado GDB - ¿Cómo depurar?
Tengo el siguiente rastro de pila. ¿Es posible distinguir algo útil de esto para depurar? Program received signal SIGSEGV, Segmentation fault. 0x00000002 in ?? () (gdb) bt #0 0x00000002 in ?? () #1 0x00000001 in ?? () #2 0xbffff284 in ?? () Backtrace stopped: previous frame inner to this frame …
113 c  recursion  gdb 

7
C99 stdint.h encabezado y MS Visual Studio
Para mi sorpresa, acabo de descubrir que C99 stdint.h falta en MS Visual Studio 2003 en adelante. Estoy seguro de que tienen sus razones, pero ¿alguien sabe dónde puedo descargar una copia? Sin este encabezado, no tengo definiciones para tipos útiles como uint32_t, etc.
113 c++  c  visual-studio  c99 

9
Es 'int main;' un programa válido de C / C ++?
Pregunto porque mi compilador parece pensar que sí, aunque yo no. echo 'int main;' | cc -x c - -Wall echo 'int main;' | c++ -x c++ - -Wall Clang no emite advertencias ni errores con esto, y gcc solo emite la advertencia mansa:, 'main' is usually a function [-Wmain]pero …
113 c++  c  function  main  entry-point 

7
¿Cuál es la diferencia entre vmalloc y kmalloc?
Busqué en Google y encontré a la mayoría de las personas que abogan por el uso de kmalloc, ya que está garantizado que obtendrá bloques de memoria físicos contiguos. Sin embargo, también parece que kmallocpuede fallar si no se puede encontrar un bloque físico contiguo que desea. ¿Cuáles son las …

10
¿Free (ptr) donde ptr es NULL daña la memoria?
Teóricamente puedo decir que free(ptr); free(ptr); es una corrupción de la memoria ya que estamos liberando la memoria que ya se ha liberado. Pero que si free(ptr); ptr=NULL; free(ptr); Como el sistema operativo se comportará de una manera indefinida, no puedo obtener un análisis teórico real de lo que está …

9
¿Por qué convertir los valores de retorno no utilizados en vacío?
int fn(); void whatever() { (void) fn(); } ¿Hay alguna razón para anular un valor de retorno no utilizado, o tengo razón al pensar que es una completa pérdida de tiempo? Seguimiento: Bueno, eso parece bastante completo. Supongo que es mejor que comentar un valor de retorno no utilizado ya …
112 c++  c  void 


19
#ifdef vs #if - ¿cuál es mejor / más seguro como método para habilitar / deshabilitar la compilación de secciones particulares de código?
Esto puede ser una cuestión de estilo, pero hay una pequeña división en nuestro equipo de desarrollo y me preguntaba si alguien más tenía alguna idea al respecto ... Básicamente, tenemos algunas declaraciones de impresión de depuración que desactivamos durante el desarrollo normal. Personalmente prefiero hacer lo siguiente: //---- SomeSourceFile.cpp …

5
¿Dónde se define PATH_MAX en Linux?
¿Con qué archivo de encabezado debo invocar #includepara poder usar PATH_MAX como un int para dimensionar una cadena? Quiero poder declarar: char *current_path[PATH_MAX]; Pero cuando lo hago, mi compilador (Clang / LLVM en Linux) emite el siguiente error: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ Intenté hacer …
112 c  linux  gcc  include  clang 



3
¿Qué macro predefinida puedo usar para detectar clang?
Estoy tratando de detectar el compilador utilizado para compilar mi código fuente. Puedo encontrar fácilmente macros predefinidas para buscar MSVC o GCC (ver http://predef.sourceforge.net/ por ejemplo), pero no puedo encontrar ninguna macro para verificar si hay clang. ¿Alguien sabe si clang define una macro como __CLANG__para saber qué está compilando …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.