Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LearningSpanishProgrammer

#11
No creo que sea una buena cosa hacer su tarea. Trabajo a $ 80/hora
;D
#12
Cita de: rir3760 en 15 Octubre 2011, 03:47 AM
Un problema (no lo digo con malicia) es tu manejo del español, si tratas de comunicar algún punto fino (por ejemplo ironía) me temo que nos pones en dificultades (de por si ya es difícil comunicarse mediante texto).

Si bien el lenguaje C existe desde hace años este se estandarizo y, al menos técnicamente, se actualizo en 1989 y 1999. Por supuesto tiene, como cualquier otro lenguaje, sus "verrugas".

En cuanto a esto:
void (*(*handler[])())(int *, double) = {};
No es valido ya que se trata de un array sin indicar su numero de elementos inicializado con (aquí el detalle) una lista vacía.

Edito:

Si queremos complicarlo en serio se puede pero también podemos tratar de hacerlo mas legible utilizando un par de alias para los punteros a funcion:
typedef void (*pf)(int *, double);
typedef pf (*pg)(void);
 
pg handler[10];


Un saludo

rir3760, si si, pero tengo atentar hablar, o no aprendo. Por esto escribo poco y en pequeñas frases. Pero, gracias por los comentarios.

No lo entendo, si no indicas el numero de elementos, este es deducido de la inicialización.  Creo que eso es un "zero-length array hack" o tambien el "struct hack".

(The point is, C is a nice language but it is also old, so we are forced to accept some language details for backward compatibility, like array to pointer conversion. Languages like Java also have some of these, but in a small scale, too young.)

#Edito:
AT&TSysVr4

#include <signal.h>
void (*signal(int sig, void (*disp)(int)))(int);

Tenemos que comprender esto.


#13
Creo que sea un error de la lenguaje. Esto no es util.
El lenguaje C existe desde 1970, no es perfecta... muchas cosas no muy buenas,

Sabes que es eso?

  void (*(*handler[])())(int *, double) = {};
  printf("%p", handler);


Eso es un cosa no muy buena...
#14
Una parte
Código (cpp) [Seleccionar]

#include <stdio.h>

int main(int argc, char * argv[])
{
  printf("Please type a number");
  return 0;
}
#15
Su duda es MUY buena, me gusta mucho cuando las personas tienen dudas tan buenas.

imagine que tu usa la biblioteca XX que usa EnterCriticalSection "as free function", pero tu tambien usas YY que  usa "myfunction::EnterCriticalSection" . Los dos funciones son globales, pero solo myfunction tienes un namespace.

Se tu hacer um codigo usando "using namespace myfunction". ¿Cómo podría llamar la "función global"? O entonces, por esto tambien, poderia  llamar, por inadvertencia, "myfunction::EnterCriticalSection" cuando en realidad querias "global EnterCriticalSection".   Usar :: es una buena pratica

Código (cpp) [Seleccionar]
#include <stdio.h>

namespace ps
{
  int printf(const char * p)
  {
  puts("ps::printf");
  }
}

int main(int argc, char * argv[])
{
ps::printf("ola");
::printf("ola");
using namespace ps;
printf("ola"); // Compilation error: which one?!
        ::printf("ola"); // Okay!
return 0;
}
#16
Eso llama la función que está en global (public, unnamed) namespace
Como las funciones del "stdio.h" y "stdlib.h"

Código (cpp) [Seleccionar]
  struct Test
  {
     int printf(const char *)
     {
    puts("Test::printf");
     }

     void test()
     {
         printf("Ola!"); // class printf
         ::printf("Ola"); // global (stdio.h)
     }
  };

int main(int argc, char * argv[])
{
Test t;
t.test();
return 0;
}
#17
Programación C/C++ / Re: argumentos del main?
10 Octubre 2011, 01:36 AM
Una cosa muy importante:

Código (cpp) [Seleccionar]

(int)argv[1]


No esta hacendo un cast const char * -> int
El compilador está  mostrando el puntero como  "int"

Código (cpp) [Seleccionar]
#include <stdio.h>

int main(int argc, char * argv[])
{
printf("%p\n", argv[0]);
printf("%i\n", argv[0]);
printf("%i\n", (int)argv[0]);
printf("%p\n", (int)argv[0]);

return 0;
}

Entender eso es muy importante para que no repita los mismos errores.

#18
No puede? Uso el debugger para eso todos los dias

El "debugger" tiene:
- Stack Trace
- Intercepta en el Signal (SIGINT, SIGERR...) (Crashs...)
- Valor de todas las variables

Creo que sea lo que quieres. Una imagen:

http://www.netburner.com/images/products/eclipse/eclipse_debugger_watch_counter.jpg
#19
En su caso, 1000x1000 es muy muy grande para el debugger (mismo en el Eclipse o otra IDE), te recomiendo que busque una manera de grabalo en un fichero.
#20
Debe buscar alguna cosa similar a el "Valgrind" o usar el Debugger

Son muy buenos para encontrar errores.