Aprender Linguagem C para Windows

Programação C em geral

Moderadores: 51, guest2003

Mensagempor vtrx » 13 Jan 2011 19:28

Programar dentro do ambiente de um sistema operacional e fazer uso dos serviços disponibilizados por ele compreende na utilização de uma interface para o programador, não importa se são chamadas de funções em linguagens de alto nível ou se são chamadas à interrupção de serviço do sistema operacional, tipo INT21h, INT80H.....

Não sei o seu conhecimento sobre ASM,mas quando uso uma rotina em ASM,eu acesso o HardWare diretamente sem passar pela API,uso as instruções do processador.
As instruções que citou (Int21,Int80 etc)são de 16 bits e são executadas pelo programa Debug.
As chamadas de funções em linguagem de alto nível estão subordinadas ao compilador mas se voce deseja acessar o Hardware ou executar calculos usando todas as intruções do processador,esse mesmo compilador terá a opção de compilar um código em ASM tambem.
pode-se usar uma component, por exemplo: SerialPort que substituiu o MSCOMM.

Quando voce usa o componente SerialPort,voce está usando a API do Windows.
Alguem usa RAD? Esse ambiente é confiavel? Qual a opinião?

Eu uso,o ambiente é confiável mas não é a ultima palavra(em relação a C++).
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor Red Neck Guy » 13 Jan 2011 20:15

vtrx escreveu:
Programar dentro do ambiente de um sistema operacional e fazer uso dos serviços disponibilizados por ele compreende na utilização de uma interface para o programador, não importa se são chamadas de funções em linguagens de alto nível ou se são chamadas à interrupção de serviço do sistema operacional, tipo INT21h, INT80H.....

Não sei o seu conhecimento sobre ASM,mas quando uso uma rotina em ASM,eu acesso o HardWare diretamente sem passar pela API,uso as instruções do processador.
As instruções que citou (Int21,Int80 etc)são de 16 bits e são executadas pelo programa Debug.
As chamadas de funções em linguagem de alto nível estão subordinadas ao compilador mas se voce deseja acessar o Hardware ou executar calculos usando todas as intruções do processador,esse mesmo compilador terá a opção de compilar um código em ASM tambem.
pode-se usar uma component, por exemplo: SerialPort que substituiu o MSCOMM.

Quando voce usa o componente SerialPort,voce está usando a API do Windows.
Alguem usa RAD? Esse ambiente é confiavel? Qual a opinião?

Eu uso,o ambiente é confiável mas não é a ultima palavra(em relação a C++).


Cara uma coisa é uma coisa, outra coisa é outra coisa.
Quando tu está dentro do sistema operacional, tipo windows ou un ix da vida, as aplicações rodam no modo protegido e o kernel no modo real. Dessa forma tu não consegue acessar os registradores para configurar o hardware do pc. No teu programa em ASM tu pode fazer muita coisa, mas, se for acessar um arquivo, por exemplo, terá que utilizar o sistema operacional já que no espaço onde tua aplicação está rodando tu não teria acesso pra implementar um controle direto ao disco.
E sim os sistemas operacionais utilizam a interrupção de software( mudando apenas o endereço) para fazer a interface com as aplicações....
Não sei o seu conhecimento sobre sistemas operacionais e ambiente de execução.... PIC é outra coisa....
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Mensagempor vtrx » 13 Jan 2011 20:28

Geralmente não seu usa ASM no ambiente Windows para acessar arquivos e tals,mas sim para acessar Uma porta,um driver e por aí vai.
As interrupções que voce citou,geram erro de acesso dentro do windows e funcionam dentro do Debug.
Vou te dar um exemplo antigo de acesso a Hardware com ASM;

Veja que voce pode ler o conteudo de sua CMOS Ram diretamente.
http://www.4shared.com/file/eddWAEIF/cmos_128.html
Veja que a API do Windows não fornece acesso a toda CMOS Ram .
Esse sistema de leitura do Cmos,era usado para gerar um CRC do Pc para controle de pirataria em software.
Não sei o seu conhecimento sobre sistemas operacionais e ambiente de execução.... PIC é outra coisa....

Como sou programador profissional e projetista/técnico em eletrônica,alguma coisa eu sei.
PS:eu não quis ofender falando sobre seu conhecimento em ASm,apenas comentei.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor Red Neck Guy » 13 Jan 2011 22:07

vtrx escreveu:Geralmente não seu usa ASM no ambiente Windows para acessar arquivos e tals,mas sim para acessar Uma porta,um driver e por aí vai.
As interrupções que voce citou,geram erro de acesso dentro do windows e funcionam dentro do Debug.
Vou te dar um exemplo antigo de acesso a Hardware com ASM;

Veja que voce pode ler o conteudo de sua CMOS Ram diretamente.
http://www.4shared.com/file/eddWAEIF/cmos_128.html
Veja que a API do Windows não fornece acesso a toda CMOS Ram .
Esse sistema de leitura do Cmos,era usado para gerar um CRC do Pc para controle de pirataria em software.
Não sei o seu conhecimento sobre sistemas operacionais e ambiente de execução.... PIC é outra coisa....

Como sou programador profissional e projetista/técnico em eletrônica,alguma coisa eu sei.
PS:eu não quis ofender falando sobre seu conhecimento em ASm,apenas comentei.


Na INT21h, que era a int que atendia como chamadas de sistema do MS-DOS também era possivel acessar arquivos, assim como é possivel na chamada de sistema do windows, se não me engano é INT2E.
Quando tu usa uma função da API do windows tipo create_file, por exemplo, o código gerado é uma chada pra essa int com os parametros em seus devidos lugares....
Isso o cara vê nas disciplinas de sistemas operacionais do curso de ciência da computação.............
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Mensagempor RAguiar » 17 Jan 2011 07:55

Olá pessoal!

...bom, dei uma pesquisada no Google (já tinha até visto isso antes mas não lembrava)...

...tipo assim, pretendo coletar dados e gerar relatórios, pois bem.

...no excel através de programação VB, dá para coletar os dados pela Serial e inserir em pranilhas...

...vou pesquisar a forma de programação disso...acredito que será mais facil do que C em Windows...até por que minha intenção e coletar e gerar gráficos...já que conheço bem o excel (exceto VB). não será difícil gerar tais gráficos o dificil mesmo será programar no Visual Basic para coletar os dados e inserir na pranilha.


Flw.
Obrigado pela atenção.
RAguiar
Byte
 
Mensagens: 164
Registrado em: 17 Jun 2010 12:52
Localização: Louveira/SP

Mensagempor vtrx » 17 Jan 2011 08:19

Para planilhas,grandes banco de dados e afins,nada melhor que Delphi.
Voce terá suporte total.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor RAguiar » 17 Jan 2011 09:52

RAguiar
Byte
 
Mensagens: 164
Registrado em: 17 Jun 2010 12:52
Localização: Louveira/SP

Mensagempor RAguiar » 06 Fev 2011 12:30

Olá pessoal, chegou aqui pra mim o livro "Programação em Visual Basic Express" vendido na CERNE, muito bom a explicação do livro, recomendo, depois de aprender o basico e comunicar o PIC com o PC vou comprar um livro para modulo avançado...
RAguiar
Byte
 
Mensagens: 164
Registrado em: 17 Jun 2010 12:52
Localização: Louveira/SP

Mensagempor KrafT » 06 Fev 2011 12:57

Voto em C#.

Nada mais de instalar addons obscuros.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor vtrx » 06 Fev 2011 13:20

Voto em C#.

Invenção da Micro$oft for Windows.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor chipselect » 06 Fev 2011 14:40

vtrx escreveu:
Voto em C#.

Invenção da Micro$oft for Windows.


invenção até que legal pra desktop, mas ainda prefiro java pra programar servidores.
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Anterior

Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x