Uma pergunta doida

Programação C em geral

Moderadores: 51, guest2003

Uma pergunta doida

Mensagempor Iran » 03 Mai 2010 00:13

Uma pergunta doida aqui que nem eu sei pra que quero saber isso:

No livro C Programming in Linux o David faz esse programinha

Código: Selecionar todos

/*****************************************************************
* C Programming in Linux (c) David Haskins 2008
* chapter2_3.c                                           *
*****************************************************************/
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[], char *env[])
{
   printf("Content-type:text/html\n\n");
   printf("<html>\n");
   printf("<body bgcolor=\"%s\">\n",argv[1]);
   printf("</body>\n");
   printf("</html>\n");
    return 0;
}


Manda compilar com o gcc da seguinte forma

gcc -o data3 chapter2_3.c -lc

Como superuser manda copiar o "executavel" para your public_html_cgi-bin diretory. /usr/lib/cgi-bin (Ubuntu)

Depois manda digitar no Browser http://localhost/cgi-bin/data3?red

Pelo que entendi o html gerado pelo programa C é exibido no navegador.

Instalei o Apache no windows.

Como faço isso em windows ?

Que compilador usar ? Pode ser o DevC ?

Onde coloco o executavel gerado ? Em cgi-bin da instalaçao do Apache ?

O que digito no Browser para o C ser executado e o html exibido no Navegador ?

Nao sei pra que isso poderia me servir mas fica aí a pergunta.

Grato.
Avatar do usuário
Iran
Word
 
Mensagens: 558
Registrado em: 16 Out 2006 18:10
Localização: Imperatriz - MA

Mensagempor Iran » 03 Mai 2010 00:43

Na tentativa descobri, pura sorte

Compilei com o DevC.

O exe fica na pasta cgi-bin da instalação do Apache.

Digitei: http://localhost/cgi-bin/chapter2_3.exe?blue no Browser.

Resta saber para que serve isso.
Avatar do usuário
Iran
Word
 
Mensagens: 558
Registrado em: 16 Out 2006 18:10
Localização: Imperatriz - MA

Mensagempor Iran » 03 Mai 2010 01:26

Será que isso tem a ver com a pergunta / resposta do Marcelo no tópico criado pelo Wagner sobre que IDE usar para C ?

"pq vc nao migra para aplicacoes web? "

Não, aí não, tem nada a ver não. Tu tá ficando doido mesmo.

É ?
Avatar do usuário
Iran
Word
 
Mensagens: 558
Registrado em: 16 Out 2006 18:10
Localização: Imperatriz - MA

Mensagempor msamsoniuk » 03 Mai 2010 03:07

eh por aih... testa esse aqui:

Código: Selecionar todos
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int
main (int argc, char *argv[], char *env[])
{
  int i;
  char *query;

  printf ("Content-type:text/html\n\n");
  printf ("<html>\n");

  query=getenv("QUERY_STRING");

  if(!strcmp(query,""))
  {
    printf ("<form>\n");
    printf ("First name:<input type=\"text\" name=\"firstname\" /><br />\n");
    printf ("Last name:<input type=\"text\" name=\"lastname\" />\n");
    printf ("</form>\n");
  }
  else
  {
    printf("<b>QUERY = %s</b><br />\n",query);
  } 
 
  printf ("<hr><br />\n");

  for(i=0;env[i];i++)
  {
    printf ("<li> env[%d] = %s<br />\n",i,env[i]);
  }
 
  printf ("</body>\n");
  printf ("</html>\n");
  return 0;
}


quando roda sem passar parametros, ele mostra dois campos de texto para vc entrar com nome e sobrenome. tambem mostra a saida de env[]... digita nome, tab, sobrenome e enter. ele vai processar e mostrar a query que vc mandou (e a saida de env[], para entender como ele passa essas coisas). o programa funciona como uma maquina de estados. vc decodifica os parametros passados em QUERY_STRING e entao processa os dados de um form (tem que parsear a query!). de acordo com o q eh passado, vc decide qual sera o proximo form e assim vai...

no caso de um banco de dados, por exemplo, vc poderia escolher qual database quer consultar, daih teria um form para cada uma, com botoes para inserir, pesquisar, alterar e deletar. conforme a opcao escolhida na query, novamente, vc chama funcoes diferentes que interfaceiam com o banco de dados (um mysql, por exemplo).
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor xultz » 03 Mai 2010 09:16

Iran, antigamente esta era a solução para criar sites dinâmicos, usando html. Hoje tem muitas opções (PHO, ASP, Java, etc) e dá prá fazer de forma mais simples.
A questã é se você fizer um sistema embarcado com uma porta ethernet onde pretende acessar via web, rodar um apache com phppode acabar com teu processamento, então rodar um servidor levinho com um cgi-bin compilado tente a ser muito mais leve.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Iran » 03 Mai 2010 10:10

Na verdade eu sou tão ignorante nisso que não sei bem pra que serve, nem aproveitar os comentários que vcs fizeram, vi o post do marcelo lá no outro tópico e achei que tinha algo a ver com isso que tinha lido no livro citado tempos atras.

Estou lendo um pouco aqui pra ver no que vai dar. Se alguém tiver uma literatura atual sobre o tema para me indicar fico grato.
Avatar do usuário
Iran
Word
 
Mensagens: 558
Registrado em: 16 Out 2006 18:10
Localização: Imperatriz - MA


Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x