Como criar janelas em C puro, sem bibliotecas adicionais à moda antiga mesmo ?

25. Re: Como criar janelas em C puro, sem bibliotecas adicionais à moda antiga mesmo ?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 27/08/2015 - 15:28h

ubuntu_server escreveu:

Então paulo1205 por favor qual a forma certa de estudar C não usando diretamente o S.O., tipo assim quando vi na Wikipedia sobre as bibliotecas C padrão, mostra uma certa quantidade de bibliotecas, mas quando olhei as libs do GCC por exemplo são só algumas iguais e muitas outras diferentes e a mesma coisa no Windows e ai por diante, não tem um conjunto de bibliotecas C que sejam única, tipo assim que sejam multi-plataformas por mais que sejam menas libs mas que sejam funcionais ? Obrigado Novamente e DEUS Abençoe...
E nesse código acima não falta nada de lib, está completo ?


Começando pelo fim. Eu não posso garantir que o código vai funcionar do jeito como está. Eu acho que ele está bem próximo do código correto, que seria usado com o MS-DOS, mas pode haver detalhes de notação que difiram na hora de converter o ponteiro (por exemplo: em vez de escrever o endereço absoluto 0xb8000, escrever na forma de 16 bites de segmento e 16 bits de deslocamento, i.e. 0xb8000000). O tipo uint8_t é especificado no padrão como um inteiro sem sinal de oito bits, e esse “apelido” está em <stdint.h>. No PC, ele é equivalente a unsigned char.

O que costuma chamar de C padrão tem pelo menos duas partes, que são a definição da linguagem em si, que compreende apenas os tipos de dados e as operações que a linguagem é capaz de fazer esses dados, e uma segunda parte que define uma biblioteca de tipos de dados secundários, constantes e funções que podem ser invocadas a partir de um programa em C.

Essa biblioteca tem mais de um escopo possível: um é o de um ambiente autônomo (freestanding), em que o programa em C pode executar sem o suporte de nenhum sistema operacional (caso em que se tem um cenário próximo do “computador puro”). Nesse ambiente, só requerido o funcionamento de um subconjunto da biblioteca padrão. O outro possível ambiente é aquele em que o programa em C executa sobre um sistema operacional (hospedado, ou hosted) que oferece recursos como armazenamento com persistência (arquivos), gestão de memória e outras operações que são muito à quase totalidade dos sistemas operacionais.

Eu acho pouco provável que você queira mexer com sistemas freestanding por enquanto. Acho que você vai querer um sistema operacional nem que seja para compilar os programas que vai testar. Então, você pode usar todos os recursos da biblioteca padrão, que são obrigatórios a todas as implementações do C. Um programa que use somente a biblioteca padrão deve executar de modo idêntico em qualquer implementação, e apresentar resultados consistentes.


  


26. Re: Como criar janelas em C puro, sem bibliotecas adicionais à moda antiga mesmo ?

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 27/08/2015 - 17:34h

Então paulo essa ultima dica é Bem Interessante, mas te falo que desde antes e durante o tempo que abri esse tópico venho pesquisando e pesquisando e ainda não achei como fazer um janela diferente das existentes no Windows por exemplo, por mais que seja quantas linhas de código for, só não quero usar windows.h dentre outras coisas por exemplo, usar o mínimo possível do S.O.
E aquela ideia de acessar diretamente o hardware, como é possível ? Obrigado...


27. Re: Como criar janelas em C puro, sem bibliotecas adicionais à moda antiga mesmo ?

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 30/08/2015 - 15:33h

Boa Tarde Amigos. Por favor paulo1205, como faço para entrar em modo Freestanding em C no Windows, por exemplo. Na internet tá osso de achar. Obrigado...


28. Re: Como criar janelas em C puro, sem bibliotecas adicionais à moda antiga mesmo ?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 31/08/2015 - 03:57h

ubuntu_server escreveu:

Boa Tarde Amigos. Por favor paulo1205, como faço para entrar em modo Freestanding em C no Windows, por exemplo. Na internet tá osso de achar. Obrigado...


Freestanding e hosted não modos nos quais se entra ou sai quando dá na veneta. São classificações do nível de conformidade com o padrão de uma determinada implementação do conjunto formado pelo compilador e pela biblioteca que o acompanha.

Para maiores esclarecimentos a esse respeito, veja o capítulo 4 do padrão do C (ele é pago, mas você pode ler gratuitamente um rascunho anterior à aprovação do padrão em http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf).



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts