elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
31  Sistemas Operativos / GNU/Linux / Re: Compilar linux 0.0.1 en: 2 Marzo 2012, 22:06 pm
Es un codigo bastante antiguo pero para nada obsoleto... es bastante interesante el codigo, yo me lo he leido casi completo ya que estoy metido en lo de hacer kernels pequeños. Es cierto que en estos tiempos es imposible compilar el codigo pero leerlo nunca esta mal, incluso explica muchas de las cosas que normalmente hacemos en una PC con Linux.

Saludos
32  Programación / Programación C/C++ / Re: Duda con C y C++ en: 2 Marzo 2012, 21:30 pm
C++ está orientado a objetos y C no.
Esto no es del todo correcto. En C++ puedes hacer una aplicacion con programacion estructurada, o puedes usar la programacion generica, ademas de la programacion orientada a objetos. Si bien el mayor uso de C++ es la programacion orientada a objetos y aveces junto a los templates de la programacion generica.

Saludos
33  Programación / Programación C/C++ / Re: Problema con herencia de constructores en: 1 Marzo 2012, 01:41 am
Primero que todo, por favor usar las etiquetas GeSHi, para algo esta (y no, no es de bonito).
Segundo...
Mira ahí tienes errores de C...

1. Cuando reservas memoria te estás olvidando del espacio para el carácter nulo '\0'.
2. No puedes simplemente asignar una cadena en C, debes usar la función strcpy o strncpy de la librería estándar string.h.
3. Te da el error de redefinition porque estás definiendo dos veces el constructor de la clase felino...

Código
  1. felino(){};
  2. felino::felino(char* comida, int año, char* lugar, char* raz, char* circ):mamifero( comida, año, lugar)
  3. {
  4.    raza = new char[strlen(raz)];
  5.    circo = new char[strlen(circ)];
  6.  
  7.    raza = raz;
  8.    circo = circ;
  9. }

Esto es C++, no C. Pero es cierto en cierto sentido, varias veces redefine el constructor pero con diferentes argumentos.
Código
  1. class felino : public mamifero
  2. {
  3.    protected:
  4.    char* raza;
  5.    char* circo;
  6.  
  7.    public:
  8.    //felino(){}; Elimina Esto!
  9.    felino(char* comida, int año, char* lugar, char* raz, char* circ)//:mamifero(comida, año, lugar); esto va despues, cuando escribes el codigo del constructor
  10.  
  11.    void nombrecirco();
  12.    void nuevaestrella();
  13. };
Hay muchisimos errores, lo unico que puedo recomendarte es que uses cabeceras y archivos fuente... osino te pierdes como en este caso, la verdad es que nose como es que puedes programar asi.

Saludos
34  Sistemas Operativos / Mac OS X / Re: puedo hacer hackintosh? ayuda porfavor pc echo por mi en: 26 Febrero 2012, 19:35 pm
Busca, busca, que google y bing saben mas que todos juntos :D (Nunca te olvides de buscar en Bing, dicen las malas lenguas que Google oculta webs, y yo se que es asi porque me han ocultado una web a mi  :-()

Saludos
35  Programación / Programación C/C++ / Re: Cómo atrapo enter? en: 25 Febrero 2012, 23:45 pm
Las comparaciones en C/C++ se hacen con ==, eso seria una asignacion ...
Apppsssss... error mio, perdon. Inmediatamente lo arreglo.

Saludos
36  Programación / Programación C/C++ / Re: Problema GRUB2 cargando kernel en: 25 Febrero 2012, 23:29 pm
Gracias Eternal Idol, pero eso me redirige a las muchisimas paginas que ya he leido, como ya dije antes me he casi matado buscando como hacer que Grub2 cargue el kernel :-(

Saludos
37  Programación / Programación C/C++ / Re: Error al definir array char en DEV-CPP en: 25 Febrero 2012, 23:18 pm
Para limpiar la pantalla puedes hacer algo mas o menos asi:
Código
  1. #ifdef __WIN32__ || __MSDOS__
  2. system("cls");
  3. #endif
  4. #ifdef __unix__
  5. system("clear");
  6. #endif
Claro que no sera tan portable, pero __unix__ abarca muchos sistemas operativos por lo que puede servir.
Otra cosa SÚPER IMPORTANTE NO UTILIZAR GOTO.
goto es un problema solo cuando es mal utilizado, puede que muchas veces hayan opciones mucho mas eficientes (while, for, do...while) pero en ciertos casos hay que utilizarlo.
Pero en este caso no lo veo necesario xd. Si por ahora quiere que no se detenga nunca puede hacer esto:
Código
  1.    while(1) {
  2.        Cls(); // Para no utilizar system("Cls");
  3.        current[size] = current [0];
  4.        for ( i = 0; i < size; i++ ) {
  5.            cout << current[i];
  6.            if (i != size) current[i]= current[i+1];
  7.        }
Simplemente espera a que 1 sea igual a 0 lo cual jamas ocurrira ;D O tambien se puede hacer:
Código
  1.    for(;;) {
  2.        Cls(); // Para no utilizar system("Cls");
  3.        current[size] = current [0];
  4.        for ( i = 0; i < size; i++ ) {
  5.            cout << current[i];
  6.            if (i != size) current[i]= current[i+1];
  7.        }
Punto importante: si un while, for, o lo que sea solo contiene una instruccion, mejor que no pongas los parentesis.
Ejemplo:
Código
  1. if(a<b) {
  2.    std::cout << "Hola!" << std::endl;
  3. } //Esto queda un poco raro y aveces ilegible, ademas de usar espacio de mas
  4. if(a<b)
  5.    std::cout << "Hola!" << std::endl;
  6. //ocupa mucho menos espacio
38  Programación / Programación C/C++ / Problema GRUB2 cargando kernel en: 25 Febrero 2012, 22:56 pm
Bueno, la verdad es que no sabia si postear en esta sección o en GNU/linux ya que no estoy seguro si el problema es de programacion o dle proceso de compilacion, pero buee... me decidi por este y ya esta.
Les cuento, estoy reescribiendo el kernel que programe hace un tiempo para hacerlo mas legible, pero me encontre con un gran problema recien empezando. Bueno, las funciones mas basicas como el printk y el scanf (que en realidad se parece mas a un getchar) las tome tal cual del codigo que ya tenia y ahora me dan problemas... pero no en compilacion ni en tiempo de ejecucion, sino que simplemente no se ejecuta. El trabajo anterior lo cargaba con GRUB Legacy, pero ahora lo hago con GRUB2, y pues he aislado el problema.
Lo mas extraño es que al parecer, el problema esta en la longitud del switch que hago para traducir scancodes en chars. Esto lo digo porque no importa el orden que tome, ni los cases que comente, el resultado siempre es el mismo. La funcion funciona (valga la redundancia) hasta que supera los 7 u 8 cases (sin importar cual sea) y probe hacerlo con un if...else y pues lo mismo, supera los 7 u 8 y no lo carga.
El error que me da Grub2 es:
Código:
error: no multiboot header found
error: no loaded kernel
Y mas extraño aun es que apenas compilo sin esa parte del codigo no me da ningun error.
He buscado muchisima informacion, he revisado mas de 10 paginas en google y muchas mas en Bing y he probado miles de cosas y nada :-\ Espero alguien sepa algo o tenga alguna idea de que puede estar sucediendo.

El codigo de la funcion lo dejo en pastebin porque es muy largo.
http://pastebin.com/7aB0Njcd

Gracias por adelantado y saludos a todos.
39  Foros Generales / Noticias / Re: Una ley quiere monitorizar a los internautas de EEUU para evitar la pedofilia en: 24 Febrero 2012, 01:13 am
Si le quitaran la parte de monitorizar todo Internet y le quitaran el "Act" del nombre... quedaria perfecto xd No, enserio, este hombre deberia parar ya con sus locuras.

Saludos
40  Programación / Programación C/C++ / Re: Cómo atrapo enter? en: 22 Febrero 2012, 22:54 pm
Ufff no revise esto, pero yo se como hacer eso, simplemente tienes que hacer que si el texto ingresado es nulo ('\0', 0, o "") no realices la escritura de ">>>". Ese es uno de los problemas que sortié mientras hacia mi SO xd.
Si estas utilizando los strings de C++ podras hacer la comparacion:
Código
  1. if(texto=="")
  2.        return;
O lo que quieras que haga si el texto no es nada.

Saludos
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines