KF

Техника => Софт => Тема начата: Diozan от 29-01-2012, 13:11:10



Название: Компильнуть програмку на СИ под Винду.
Отправлено: Diozan от 29-01-2012, 13:11:10
Код:
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <arpa/inet.h>
#include <netdb.h>

int main(int argc, char** argv ){
  if (argc!=4){
    printf("Запускать так:\n%s <хост> <порт> <файл_прошивки>\nЛубягов Николай 2010г\n",argv[0]);
    return 0;
  }
  struct sockaddr_in sa;
  memset(&sa,0,sizeof(sa));
  sa.sin_family=PF_INET;
  int p;
  if (sscanf(argv[2],"%d",&p)!=1){
    printf("Ошибка: не могу преобразовать порт в число!\n");
    return 0;
  };
  sa.sin_port=htons(p);
  inet_pton(PF_INET,argv[1], &sa.sin_addr);
  int skt=socket(PF_INET, SOCK_STREAM,IPPROTO_TCP);
  if(-1 == skt){
    printf("Ошибка: не могу создать сокет\n");
    return 0;
  }

  if (connect(skt,(const void *)&sa,sizeof(sa))==-1){
    printf("Ошибка соединения!");
  }

  FILE *f=fopen(argv[3], "r");
  if (f==NULL){
    printf("Ошибка: не могу открыть файл прошивки!\n");
    return 0;
  }
  char buf[1024];
  ssize_t s;
  while ((s=fread(buf,1,1024,f)) > 0){
//    printf ("data %d %s\n",s, buf);
    if (send(skt,buf,s,0)!=s){
      printf("Ошибка: немогу передать прошивку на принтер!\n");
      return 0;
    }
  }
  shutdown(skt,SHUT_RDWR);
  return 0;
}


В общем нужен готовый EXE-шник. Если кто поможет, буду признателен. Выслать можно по адресу diozan at yandex.ru


Название: Re: Компильнуть програмку на СИ под Винду.
Отправлено: GREAT от 30-01-2012, 00:56:46
держи
http://zalil.ru/32604735