Calificación:
  • 6 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
A nadie le importa una mierda, pero... v13
Organizar los favoritos de internet es genial; dices "anda, hace más de tres años que no he visitado esta página, voy a verla", y de repente descubres que lo que antes era zonaemu.com ahora te redirige a "pornoendirecta.com"...


Y hablando de C, estoy hasta los cojones de que todas las asignaturas que he dado de C en la uni (que creo que ya van cuatro), sean todas sobre linux. Ahora me apetece programar algo en windows para pasar el rato y no tengo ni puñetera idea.

¿Crear procesos hijo en linux? Visto. ¿En windows? Ni idea, a buscar.
¿Usar sockets en linux? Visto. ¿En windows? Ni idea, a buscar.
¿Comunicación entre procesos en linux? Visto. ¿En windows? Ni idea, a buscar.
Etc, etc, etc.

Que vale, que hay muchos casos que son chorradas, que basta con cambiar el nombre de la función y pasarle un par de parámetros, pero aun así tengo tengo que buscar como se hace. Y es un coñazo, porque mientras que en linux es algo tan fácil como hacer "man fork" o "info printf", en windows tienes que buscar por tu cuenta. ¿No hay una especie de base de datos como las del "man" de linux pero para windows, para poder ir a buscar siempre al mismo sitio y no tener que buscar cada cosas en lugares separados?

Y lo de que damos las cosas en linux porque es gratis (el SO), lo entiendo, pero cuando también tienes Windows instalado en los ordenadores de la uni, me parece una excusa estúpida. "Es que en los ordenadores de la uni sólo vamos a poner kubuntu porque es gratis, así que todas las cosas las daremos en linux", entonces vale, pero si en los ordenadores tienes tanto kubuntu como windows, entonces te da igual dar C en cualquiera de los SO, puesto que ya tienes los dos, y elijas el sistema que elijas, le vas a meter el compilador de GNU, por lo que te va a costar la misma pasta darlo en windows que en linux.
[Imagen: SillyWalk.jpg] [Imagen: Bl3yK0h.png]x071
What a beautiful Duwang!
http://www.archive.org/ lulz
(12-29-2011, 04:35 PM)Nobi escribió: http://www.archive.org/ lulz

Nada, la única copia de la web que hay es de cuando las secciones principales ya estaba cerradas y sólo quedaba el foro, y este último me da bastante igual. Pero bueno, tampoco es que fuera la única página de emuladores de videoconsolas que hay.
[Imagen: SillyWalk.jpg] [Imagen: Bl3yK0h.png]x071
What a beautiful Duwang!
Emulatronia, por ejemplo, tiene de todo y lleva abierta desde antes de que yo tuviese Internet (y me lo puse a finales de 2001) y actualiza con frecuencia.
yo ahora estoy viciadillo a los juegos de la nes, así que estoy visitando romhustler.net con bastante frecuencia. Me gusta mucho la página, porque cuando quieres bajarte alguna rom, en vez de descargarte el .nes a secas, te descargas un comprimido en .7z donde te viene la versión pal, la versión usa, la versión jp, romhacks, diferentes dumps, así que es bastante cómodo.
[Imagen: SillyWalk.jpg] [Imagen: Bl3yK0h.png]x071
What a beautiful Duwang!
(12-29-2011, 04:10 PM)chachibukai escribió: Y lo de que damos las cosas en linux porque es gratis (el SO), lo entiendo, pero cuando también tienes Windows instalado en los ordenadores de la uni, me parece una excusa estúpida. "Es que en los ordenadores de la uni sólo vamos a poner kubuntu porque es gratis, así que todas las cosas las daremos en linux", entonces vale, pero si en los ordenadores tienes tanto kubuntu como windows, entonces te da igual dar C en cualquiera de los SO, puesto que ya tienes los dos, y elijas el sistema que elijas, le vas a meter el compilador de GNU, por lo que te va a costar la misma pasta darlo en windows que en linux.

El problema de windows es que acostumbra a complicar las cosas, pasar de los estandar y cerrarse cosa mala.
Si cuando te enseñaron el fork viste todo lo que hacia internamente la función, en windows no puedes saberlo o puedes saber muy poco, así que para enseñar no sirve demasiado.Entiendo que los profes pasen de enseñar cosas en windows por estos motivos.

Un caso que viví y que me quede bastante extrañado era haciendo una practica de multicast, asigné un socket unicast y uno multicast al mismo puerto. ¿Resultado? Windows no se quejaba, linux si.

Sobre la base de datos lo mejor que he encontrado es esto y a veces deja bastante que desear :/
http://msdn.microsoft.com/en-us/library/ms123401.aspx
[Imagen: PDMKXCn.jpg] [Imagen: BO3H7iS.gif]
(12-27-2011, 05:01 PM)Yumichan escribió:
(12-27-2011, 10:40 AM)kappei escribió: ANLIU(puta)M, pero estaré sin conexión a Internet muy probablemente hasta enero. Mientras tanto a tirar del cíber del barrio...

Gracias mamá. Palmadas

Seguramente ya lo tengas en cuenta, pero Opera USB es tu amigo.

Y el "wget" para win32... asi llegaron a casa el VS2008, ICL y otros en su día (desde la web oficial).

No... no entiendo nada... Huh
ANLIUM pero es la primera vez que salgo en nochevieja e iré "disfrazada" de tío. Me encanto a mí misma con la ropa que voy a llevar 8D
Esta firma era tan vieja que me veo obligada a poner esta frase tan sosa.
(12-30-2011, 11:52 AM)kappei escribió:
(12-27-2011, 05:01 PM)Yumichan escribió:
(12-27-2011, 10:40 AM)kappei escribió: ANLIU(puta)M, pero estaré sin conexión a Internet muy probablemente hasta enero. Mientras tanto a tirar del cíber del barrio...

Gracias mamá. Palmadas

Seguramente ya lo tengas en cuenta, pero Opera USB es tu amigo.

Y el "wget" para win32... asi llegaron a casa el VS2008, ICL y otros en su día (desde la web oficial).

No... no entiendo nada... Huh

Yo tampoco. No creo que en tu casa uses el Opera USB.

(12-29-2011, 04:10 PM)chachibukai escribió: ¿Crear procesos hijo en linux? Visto. ¿En windows? Ni idea, a buscar.
¿Usar sockets en linux? Visto. ¿En windows? Ni idea, a buscar.
¿Comunicación entre procesos en linux? Visto. ¿En windows? Ni idea, a buscar.

Por aquí tengo el primer programa con sockets y multihilo que hice windows. Es una guarrada, pero fácil de entender. Échale un vistazo si quieres. Hay que linkearle al proyecto la librería libws2_32.a si usas un IDE basado en GCC o la ws2_32.lib si usas Visual Studio.

Spoiler: mostrar
Código:
/*By Reaper*/
#include <winsock.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio2.h>
#include <process.h>
#include <ctype.h>

int conectar(unsigned short puerto, char* ip);
void desconectar(void);
void chat(void);
void hilouno(void *param);
void hilodos(void *param);

SOCKET so;
char sw, telnet='0';

int main(int argc, char *argv[])
{
    textcolor(LIGHTGREEN);
    if(argc==3||argc==4)
    {
        if(argc==4&&strcmp(argv[3], "--modo-telnet")!=0)
        printf("Opci\242n no reconocida [%s]\n", argv[3]);
        else
        {
            if(argc==4&&strcmp(argv[3], "--modo-telnet")==0)
            telnet='1';
            printf("Conectando...\n");
            if(conectar(atoi(argv[2]), argv[1])!=0)
            printf("Error de conexi\242n");
            else
            {
                printf("Conexi\242n establecida!\n");
                chat();
                printf("[Fin de la transmisi\242n]");
            }
        }
    }
    else printf("Modo de uso: conectar.exe [IP] [puerto] --modo-telnet (opcional)\nTecla ESC: Desconectar\n");
}

int conectar(unsigned short puerto, char* ip)
{
    WSADATA wsadata;
    SOCKADDR_IN destino;
    WSAStartup(0x0202, &wsadata);
    if(wsadata.wVersion!=0x0202) WSACleanup();
    destino.sin_family=AF_INET;
    destino.sin_port=htons(puerto);
    destino.sin_addr.s_addr=inet_addr(ip);
    so=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    return connect(so, (SOCKADDR *)&destino, sizeof(destino));
}

void desconectar(void)
{
    if(so) closesocket(so);
    WSACleanup();
}

void chat(void)
{
    HANDLE handle[2];
    int i=0;
    handle[0]=(HANDLE) _beginthread(hilouno, 0, &i);
    i++;
    handle[1]=(HANDLE) _beginthread(hilodos, 0, &i);
    WaitForMultipleObjects(2, handle, FALSE, INFINITE);
}

void hilouno(void *param)
{
    char caracter=0;
    while(sw==0)
    {
        caracter=_getch();
        if(caracter!=27&&caracter!=13) if(telnet=='0') putchar(caracter);
        if(caracter==13)
        {
            caracter=10;
            if(telnet=='0') putchar('\n');
        }
        if(caracter==27)
        {
            desconectar();
            sw='1';
            _endthread();
        }
        else
        if(caracter!=0)
        send(so, &caracter, 1, 0);
    }
    desconectar();
    sw='1';
    _endthread();
}

void hilodos(void *param)
{
    char caracter2;
    int err=0;
    while(sw==0)
    {
        err=recv(so, &caracter2, 1, 0);
        if(err==1)
        putchar(caracter2);
        if(err==-1||err==0)
        {
            desconectar();
            sw='1';
            _endthread();
        }
    }
    desconectar();
    sw='1';
    _endthread();
}
[Imagen: z4kSKUd.png]
(12-30-2011, 01:34 PM)Reaper45 escribió:
(12-30-2011, 11:52 AM)kappei escribió:
(12-27-2011, 05:01 PM)Yumichan escribió:
(12-27-2011, 10:40 AM)kappei escribió: ANLIU(puta)M, pero estaré sin conexión a Internet muy probablemente hasta enero. Mientras tanto a tirar del cíber del barrio...

Gracias mamá. Palmadas

Seguramente ya lo tengas en cuenta, pero Opera USB es tu amigo.

Y el "wget" para win32... asi llegaron a casa el VS2008, ICL y otros en su día (desde la web oficial).

No... no entiendo nada... Huh

Yo tampoco. No creo que en tu casa uses el Opera USB.

El OperaUSB y el wget es para el ciber, si tienes que bajar algo. Muy útil.

El "jodonloder" es lo mismo y mas fácil, pero en los ciber que conozco
a ) alli no había java,
b ) alli había muuuuy poca ram lo que descarta una JRE en el pincho.

[Imagen: e4jeCf8.png]







Salto de foro:


Usuarios navegando en este tema: 34 invitado(s)