Dúvidas de iniciante em C

9 respostas
R

Olá…

Gostaria de pedir licença aos participantes, pois estou começando nessa comunidade e tbm em programação C .

Recebi uma tarefa aparentemente simples aqui no trabalho: Testar uma biblioteca gráfica. Quero saber se com esta biblioteca consigo imprimir em tela tão rápido quanto em modo texto, ou algo próximo.

Criei em TurboC (instalado no MS-DOS) um programinha para comparação. Em modo texto consigo faze-lo imprimir, em modo gráfico não. Eu inclui no programa um dos .H da biblioteca e estou usando um método que acredito que faça o que quero “wgtprintf”. Este método NÃO esta como extern no .H, eu posso usá-lo em meu programa mesmo assim?

Na biblioteca, tenho os arquivos de cabeçalho (.H) e os .Lib que não entendi o que são. Minha outra questão é: preciso fazer alguma coisa com estes arquivos antes de usá-los?

Espero ter sido claro com minhas dúvidas. Fico aguardando ajuda ou questionamentos.

9 Respostas

peczenyj

Em primeiro lugar eu esqueceria o turbo C. Use o MingW.

Agora, pq uma função deveria ser marcada como extern? Geralmente isso se faz para variaveis globais declaradas em outros arquivos ou bibliotecas.

Os .H são arquivos header, ou seja, possuem os cabeçalhos com protótipos de funções, estruturas de dados e macros do pre-processador C. Eles servem para o seu programa compilar.

O codigo está nas bibliotecas, previamente compilado, que vc vai linkar em tempo de compilação (ou em tempo de runtime, com bibliotecas dinâmicas a lá DLLs).

T

Você precisa consultar o fornecedor da tal biblioteca gráfica (não precisa falar com ninguém - veja a especificação e tente compilar os programas-exemplo), e ver para qual compilador C/C++ ela é compatível.

Usualmente você tem de saber isso - uma biblioteca (.lib), principalmente se ela foi escrita em C++, só é compatível com uma determinada versão do compilador (usualmente o Microsoft Visual C++ 2005 ou 2008 ), e com determinadas opções de compilação (Release/Debug, Multithreaded DLL etc.)

Algo tão antigo quanto o Turbo C++ (que gerava código de 16 bits, e para DOS - não o DOS do Windows, mas DOS puro mesmo) provavelmente é completamente incompatível com tal biblioteca.

R

Bom…acho que omiti algumas informações importantes. Eu trabalho em uma empresa de automação e neste ambiente usamos DOS puro e C de vdd (nada de C++ e OOP). A biblioteca que me refiro deve ter quase minha idade…hahahahha.

Peço desculpas por não ter informado antes e tbm por tirar estes assuntos do fundo do baú.

Minha dúvida esta em como compilar esta biblioteca (se é que tenho que compilá-la), pois como falei antes, tenho apenas os .H e .Lib (que pelo o que entendi, não são o programa de vdd).

Agradeço os amigos

T

Pois é, não veio nenhum programinha de exemplo junto com a biblioteca ? Nenhum "readme.txt’ dizendo coisas do tipo

tcc -c teste.c
tlink teste.obj biblioteca.lib

e outros comandos que você teria de dar na linha de comando para isso compilar direitinho?

T

Pergunta - no Turbo C há também uma excelente biblioteca gráfica, porque é que ela não pode ser usada? Com os computadores de hoje em dia, ela vai executar muito rapidamente (mesmo naqueles 386SX já era muito rápida).

ViniGodoy

Não sei que tipo de aplicações gráficas você vai fazer…

Mas algumas bibliotecas gráficas, como a OpenGL (descrita no meu site) e a SDL funcionam com o C e são centenas de milhares de vezes mais rápidas do que o modo texto, especialmente com o hardware de vídeo de hoje em dia.

Se você quer mexer com telinhas gráficas em (botões, janelas, etc), pode considerar o uso da wxWidgets, ou do GTK. Se quiser algo mais “cabelos no peito”, há sempre a boa e velha API do Windows.

R

Desculpem, postei duas vezes a mesma coisa… :oops:

R

Rafael Novello:
thingol:
Pois é, não veio nenhum programinha de exemplo junto com a biblioteca ? Nenhum "readme.txt’ dizendo coisas do tipo

tcc -c teste.c
tlink teste.obj biblioteca.lib

e outros comandos que você teria de dar na linha de comando para isso compilar direitinho?

No pacote da biblioteca tem sim alguns exemplos. Agora nos “readme.txt” e afins não encontrei nada sobre a forma de compilar. =(

O que me deixa mais em dúvida é o seguinte, já estudei na net formas de compilar programas em C e em todos eles, assim como vc colocou, eu preciso do arquivo.c e não tenho estes arquivos da biblioteca.

Sobre as bibliotecas do Turbo C, nem sabia da existência. Vou sugeri-la aqui na empresa, mas não posso mudar por conta própria. =(

Agradeço a ajuda e paciência

R

Agradeço a ajuda de todos…consegui finalmente resolver o problema de linkar a biblioteca ao meu projeto.

Agora vamos aos testes…hehehe

Muito obrigado…!!!

Criado 31 de julho de 2008
Ultima resposta 5 de ago. de 2008
Respostas 9
Participantes 4