[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: programação c/c++ no linux



On Sat, Apr 26, 2003 at 10:36:05AM -0300, João Salvatti wrote:

Esqueça conio.h no Linux. Se você quiser REALMENTE as funcionalidades
daquela biblioteca, gaste um tempo (e bote tempo nisso!) aprendendo a
biblioteca ncurses. Existe um Ncurses-HOWTO em http://www.tldp.org.
Programar para Linux (e para qualquer outro *nix) é diferente de
programar para DO$. Por exemplo, a entrada do usuário é mais comumente
dada direto pela linha de comando (use argc e argv[]), em vez de você
iniciar o programa, ler uma entrada, digitar <enter>, ler outra
variável, digitar <enter> de novo e finalmente ver o resultado. À medida
que você for ficando mais experiente no Linux você vai pegando o
"jeitão" dele, vai aprender a fazer seus programas de modo que eles se
integrem às outras ferramentas do SO...

Por exemplo, seu programa, escrito à maneira Linux, ficaria mais ou
menos da seguinte forma:

#include <stdio.h> /* para printf() */
#include <stdlib.h> /* para atoi() */
int main (int argc, char * argv[])
{
	printf ("%d\n", atoi(argv[1]) + atoi(argv[2]));
	return 0;
}

Salve-o como um arquivo .c (.cpp é usado para programas C++), compile-o
e rode-o. Por exemplo:

$ gcc soma.c -o soma
$ ./soma 4 3
7
$

É claro que você precisará verificar erros (se argumentos demais ou de
menos foram passados etc.), mas a idéia é essa. É boa prática de
programação usar int main(...), em vez de void main(...), e não esquecer
de fazer main sempre retornar um valor.

Em vez de getch(), use getchar(). Para saber mais sobre essa função,
digite man getchar no seu prompt. Para saber sobre a função atoi, digite
man atoi. Para saber sobre o GCC, digite man gcc ou info gcc.

Uma excelente fonte de informação, além das páginas de manual para as
funções, é o site http://www.tldp.org. Procure por lá, que você vai
encontrar muita coisa útil.

Além disso, quando você mandar problemas para cá, por favor mande
mensagens de erro, versões do software que você está usando etc.
-- 
José de Paula Rodrigues Neto Assis		Linux User #175920
Brasília - DF - Brasil				Usuário Debian #574



Reply to: