logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog

follow us in feedly

Win32: O começo de tudo

Começa nesse momento uma série de posts falando sobre programação Win32. Além de falar das APIs, eu também explicarei os componentes do Windows dos quais essas APIs dependem. É quase uma aula de Sistemas Operacionais, mas com coisas práticas ao invés de ficar escutando alguém repetir o livro do Tanenbaum :-). Aos que não sabem o que é Win32, já falei sobre isso, e sobre os motivos para estudar Win32.

Para acompanhar a série, você precisa somente de um compilador C++ e o Microsoft Platform SDK. As opções que eu conheço são:

  • Visual Studio Professional: Ele já tem tudo que você precisa.
  • Visual C++ Express: Você precisa dele e do Platform SDK. Na página de download do Express existe um link para download do SDK.
  • Outros: Existem várias outras opções, como o Borland C++ Builder (ou o novo Turbo C++), Dev-C++, Ultimate++, CodeBlocks, etc. Se você quer só o compilador e gosta mesmo é do Bloco de Notas, o MinGW também resolve o seu problema. Só não se esqueça de configurar sua IDE/makefile/sei-lá-o-que para procurar os headers e as libs no Platform SDK.

Se você conseguir compilar o código abaixo é porque tudo está funcionando:


#define WIN32_LEAN_AND_MEAN
#include <windows.h>
 
//
// programa Win32 tem como entry point (função inicial) a função WinMain
//
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
  MessageBox(NULL, "Start Me Up!", "Win32", MB_OK);
  return 0;
}

Em 24/01/2008 17:06, por Rodrigo Strauss


  
 
 
Comentários
Rafael Santini | website | e-mail | em 24/01/2008 | #
Gostei da proposta de uma série de posts sobre Win32. Vou utilizar o Visual C++ Express (estou fazendo o download agora).
Fabricio Melo | em 24/01/2008 | #
Que boa notícia, tudo o que eu podia esperar. Não para por favor! :)
Vniicius | website | em 24/01/2008 | #
Muito bom.

Já estou aguardando os próximos artigos. Estudei Win32 pelo clássico do Petzold, que ocupa um espaço (para não falar de um peso) importante na minha biblioteca.

Vai ser muito bom ver conteúdo em português sobre o assunto.
Alexandre | em 24/01/2008 | #
Já possivel baixar o Visual C++ Express 2008 RTM
http://www.microsoft.com/express/

Além de já incluir a SDK 6.x na instalação, ele inclui ainda as centenas de correções disponíveis para o Anterior e assim não é preciso baixar downloads adicionais como o Service Pack 1 da versão 2005
Fabio | em 26/01/2008 | #
ah! então há um livro de OSs que fala do Win32? Vou procurar esse Petzold. Eu li o Tanenbaum. Ficarei antenado em seus posts sobre o mesmo. Boa iniciativa ...
Rodrigo Strauss | website | e-mail | em 26/01/2008 | #
O livro do Petzold fala sobre a API Win32, não sobre SO. Para isso leia o Windows Internals do Mark Russinovich.
Rafael Santini | website | e-mail | em 28/01/2008 | #
Fiz o download do Visual C++ Express 2008. Tive apenas um problema ao compilar, o qual foi resolvido alterando o valor da propriedade SubSystem para "Windows (/SUBSYSTEM:WINDOWS)" (Configuration Properties -> Linker -> System). Sem essa modificação, ocorria o seguinte erro:

MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
Edson Mattos | website | em 30/01/2008 | #
Enviei o link disso pra um camarada meu e ele me diz "Win32 é passado! .NET é oq há!"

Bom, isso me remeteu a outro post seu, haehaehahheh!!!

Abraços.
André | e-mail | em 13/08/2008 | #
Aqui no VS 2008 Professional só compila se incluir o header "tchar.h" e usar L ou _T() na função =/

será que não tem como chamar a função diretamente sem usar nenhum tipo de macro??

vlw!
Algo a dizer?
Nome:


Site:


E-mail:


Escreva o número vinte e seis:


 Não mostre meu e-mail no site, não serve pra nada mesmo...

Comentário





Os comentários devem ser sobre assuntos relativos ao post, eu provavelmente apagarei comentários totalmente offtopic. Se quiser me enviar uma mensagem, use o formulário de contato. E não esqueça: isso é um site pessoal e eu me reservo o direito de apagar qualquer comentário ofensivo ou inapropriado.
rebarba rebarba
  ::::