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

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

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 21/08/2015 - 23:36h

ubuntu_server escreveu:

E se eu usar o X11, tem como usar ele tanto no Windows quanto no Linux ? Obrigado...


Também não.

X11 -> Linux

Windows usa outra biblioteca para aplicativos.

Por que você não estuda uma outra biblioteca, como o GTK+? O GTK+ funciona no Linux, Windows, etc e não é preciso mudar o código.

// Se quiser, tente estudar o GTK+ 'por dentro' e ver como é feito os App no Linux e no Windows, mas como disse anteriormente, no padrão C ANSI, não é possível ter interface gráfica =\

Espero ter ajudado

[]'s

T+

--

body@human: $ sudo su
brain@human: # apt-get purge -y windows* && echo "Windows removed successfully"




  


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

Paulo
paulo1205

(usa Ubuntu)

Enviado em 22/08/2015 - 01:58h

ubuntu_server escreveu:

E se eu usar o X11, tem como usar ele tanto no Windows quanto no Linux ? Obrigado...


Tem, mas pode não ser muito trivial.

Existem vários servidores X11 para Windows, incluindo servidores gratuitos, como o Xming e o MobaXterm. Eles vão lhe dar a visualização de janelas do X11, mas podem não ser suficientes para que você construa seus próprios programas. Para fazer seus programas, você vai precisar de uma implementação da de Xlib (possivelmente na forma libX11.dll, mais arquivos de cabeçalhos) _ou_ da XCB e talvez mais algumas outras bibliotecas de apoio.

O Cygwin possui tanto implementações de servidores X11 para Windows quanto as bibliotecas de apoio ao desenvolvimento (o MobaXterm, aliás, é implementado com Cygwin). Se você o instalar, vai ter um ambiente de desenvolvimento mais parecido com o do Linux.

Mas como você falou de fazer “sem bibliotecas adicionais”, talvez você mesmo quisesse implementar uma XCB ou Xlib (ou outra coisa qualquer) por conta própria, escrevendo direto na placa de vídeo.

É isso? Porque, se for, então o buraco pode ficar bem mais em baixo. Nossos sistemas operacionais do dia-a-dia, como Linux ou Windows, não costumam deixar ter acesso irrestrito e nõ mediado ao hardware.


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

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 22/08/2015 - 19:03h

Boa Noite Amigos. Boa Noite paulo1205, Tudo Bem ? Até ontem estava tentando instalar o CygWin, mas na gora de baixar os pacotes em um do mirrors nãoaparece nome nenhum dos repositórios. A outra parte, será que da para programar direto no hardware usando versões anteriores do Windows, tipo Xp, ou o Minix 3 que é Open source ? Obrigado...


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

Paulo
paulo1205

(usa Ubuntu)

Enviado em 23/08/2015 - 05:40h

ubuntu_server escreveu:

Boa Noite Amigos. Boa Noite paulo1205, Tudo Bem ? Até ontem estava tentando instalar o CygWin, mas na gora de baixar os pacotes em um do mirrors nãoaparece nome nenhum dos repositórios. A outra parte, será que da para programar direto no hardware usando versões anteriores do Windows, tipo Xp, ou o Minix 3 que é Open source ? Obrigado...


Eu acho que vale a pena instalar o Cygwin, mesmo que você o use pouco ou que tenha uma partição com Linux. Às vezes você quer fazer um teste rápido de algo POSIX-like durante uma sessão em que está no Windows, sem ter de rebootar nem logar em outra máquinas por SSH, e o Cygwin geralmente resolve.

Com relação a acesso direto ao hardware, dá para fazer mesmo no Linux ou no Windows mais novo, mas só depois de passar por mecanismos de proteção do SO.

Se você quiser só testar, use um DOS da vida.


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

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/08/2015 - 05:49h

Cygwin depende do repositório e dos pacotes marcados para baixar.
Eu já fiz o instalador rodar no WINE para fazer os downloads e a instalação.

--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


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

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 23/08/2015 - 23:03h

Boa Noite Amigo listeiro_037, o que quer dizer essa imagem, não entendi ??


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

-
preroeb

(usa Outra)

Enviado em 23/08/2015 - 23:31h

ubuntu_server escreveu:

Boa Noite Amigo listeiro_037, o que quer dizer essa imagem, não entendi ??

Essa imagem faz parte da assinatura do cara, se você olhar nos outros posts dele você irá ver a mesma assinatura.

Sobre a imagem, é só uma imagem de humor, a graça é que a mensagem pede pra apertar uma tecla, mas como o teclado não está funcionando aí não dá pra continuar.


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

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/08/2015 - 23:34h

preroeb escreveu:

ubuntu_server escreveu:

Boa Noite Amigo listeiro_037, o que quer dizer essa imagem, não entendi ??

Essa imagem faz parte da assinatura do cara, se você olhar nos outros posts dele você irá ver a mesma assinatura.

Sobre a imagem, é só uma imagem de humor, a graça é que a mensagem pede pra apertar uma tecla, mas como o teclado não está funcionando aí não dá pra continuar.


Isso Isso Isso E pelo modelo gráfico de janela deve ser num WinXP.

Existem muitas imagens com gracinhas.
Uma para tópicos antigos ressuscitados é esta http://www.aesica.net/random/thread-necromancy.png

--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


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

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 23/08/2015 - 23:35h

kkk, Obrigado por tirar minha dúvida preroeb, valeu mesmo...



22. 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 - 09:53h

Bom Dia Amigos Tudo Bem ? Amigo paulo1205, você recebeu minha mensagem ? Obrigado...


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

Paulo
paulo1205

(usa Ubuntu)

Enviado em 27/08/2015 - 13:50h

Eu não tinha visto sua mensagem. Vi somente agora.

Se você não se importar, eu prefiro conversar publicamente.

Pegando carona num exemplo mencionado na mensagem particular, mas me atendo ao tema sugerido pelo título: "C puro" foi pensado para o "computador puro". Um computador puro é uma máquina de computar, não de interagir.

Tela, teclado, impressora, texto, gráficos, cores, ou mesmo discos, fitas e interfaces de rede, nada disso é parte necessária de uma máquina de realizar computações. E o C, em estado puro, é pensado para essa máquina computadora essencial, que possui uma memória, onde residem dados, e opera sobre esses dados, colocando também os resultados em memória.

Necessariamente, uma máquina que faz mais do que isso, por possuir outros dispositivos além de memória, não usará "C puro" porque, mesmo que use apenas C para acesso a tais dispositivos, o fará por meio de um programa que não se comportará de modo idêntico em outra máquina.

Deixe-me dar um exemplo. A memória de vídeo em modo de texto do PC ficava ali pela faixa de memória física de 0Xb8000. Você poderia obter acesso a essa memória fazendo algo mais ou menos assim.

struct text_cell {
uint8_t attribute; // Cor, cor de fundo, piscante etc.
char character; // Caráter desenhado na tela.
};

struct text_cell *screen;
screen=(struct text_cell *)0xb8000;

/* Coloca um "P" azul piscante em fundo vermelho na 11ª coluna da 1ª linha */
screen[10].attribute=BLUE_FOREGROUND|RED_BACKGROUND|BLINK;
screen[10].character='P';


Tudo acima está expresso em C (não há, por exemplo, nada que recorra a Assembly). Mas isso é "C puro"?

Não é, pois não vai rodar direito num "computador puro". O código acima é C aplicado a uma arquitetura específica, em condições específicas: um PC rodando em modo texto, sem um sistema operacional que controle o acesso direto à memória (isso provavelmente não rodaria diretamente num Windows 64, nm num Linux; mas era comum no tempo do MS-DOS).


24. 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 - 14:12h

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 ?



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts