Fórum Posso fazer no Delphi tudo que se faz em C/C #314779
03/03/2006
0
Consigo fazer no Delphi tudo que é feito em C/C++ ??
ou seja, sou programador Delphi e quero saber se preciso aprender C/C++ ou consigo consigo programar em baixo nivel com Delphi assim como no C/C++ ?
Desculpe se eu estiver falando besteira, mais estou com essa duvida.
até mais !!!
Fabiano Góes
Curtir tópico
+ 0Posts
03/03/2006
Aroldo Zanela
Sim. O Builder C++ da Borland possui inclusive a VCL e você escreve em C++ e a IDE ´transforma´ para Delphi e compila.
Gostei + 0
03/03/2006
Delphi32
se a IDE do borland c++ ´transforma´ o código para delphi antes de compilar, porque o tamanho das executáveis finais são diferentes?
t+!
Gostei + 0
03/03/2006
Adriano Santos
Gostei + 0
06/03/2006
Fabiano Góes
mesmo pra programar em ´Builder C++ ´ tenho que conhecer a linguagem C/C++ ? ou não ?
devo estar enganado, mais o ´Builder C++ ´ não é programar C++ usando a IDE Borland ???
Em fim, ao invés de aprender Visual C++ posso aprender Builder C++, sem precisar estudar a linguagem C/C++ antes :?: ???????
Gostei + 0
06/03/2006
Massuda
[quote:872576247e=´Fabiano Góes´]o ´Builder C++ ´ não é programar C++ usando a IDE Borland ??? [/quote:872576247e]Sim.
[quote:872576247e=´Fabiano Góes´]posso aprender Builder C++, sem precisar estudar a linguagem C/C++ antes ?[/quote:872576247e]Não.
Posso estar enganado, mas com o C++Builder, vem um compilador C/C++ e outro Delphi/Pascal. Código escrito em C/C++ é compilado pelo compilador C/C++ e toda a parte escrita usando Delphi usa o compilador Delphi/Pascal. O que permite usar as duas linguagens juntas é que os compiladores são feitos para gerar código compatível entre si.
Note que misturar C/C++ com Delphi/Pascal sempre foi possível desde os tempos do Turbo C e do Turbo Pascal. Um exemplo é a implementação de JPEG e ZLib que vem com o Delphi.
Com relação a dúvida inicial...
Gostei + 0
06/03/2006
Aroldo Zanela
Sim. O Builder C++ da Borland possui inclusive a VCL e você escreve em C++ e a IDE ´transforma´ para Delphi e compila.[/quote:e2adb767e8]
Colegas,
Desculpem, esta informação está equivocada. Acabei de ligar na Bluestar (Partner da Borland em Brasília) para confirmar e realmente eu havia entendido errado esta característica da VCL no Builder C++, pois ele possui um compilador específico para C++.
Lamento!
Gostei + 0
13/03/2006
Khundalini
Outro ponto a ser esclarecido é que nos sistemas operacionais Windows baseados na plataforma NT (NT/XP/2000/2003), existem níveis de acesso à recursos de baixo nível do computador. O nível mais privilegiado é o nível zero (conhecido como ring0), e o nível mais comum para aplicações compiladas em Delphi ou Visual Basic, por exemplo, é o nível 3 (ring3). Portanto, o compilador do Delphi não é apropriado para gerar drivers, pq ele só gera executáveis para serem executados pelo sistema operacional em nível de acesso ring3.
Sds,
Rubem Rocha
Manaus, AM
Gostei + 0
13/03/2006
Nildo
Tem como programar sim em baixo nível usando Delphi ou C++ Builder. Não é pelo fato de um driver ter acesso ao Ring0 que ele é mais baixo nível que um recurso que acessa o Ring3. Na construção da minha biblioteca BmsApiHook por exemplo, eu consegui obter acesso ao Ring0 para poder escrever dentro do Kernel do win98 para quando hookamos APIs das DLLs kernel32.dll, user32.dll e gdi32.dll nos win9x.
A diferença é que o SO da acesso (entre aspas) ao ring0 apenas quando o código está dentro de um Driver, isso não o torna mais baixo nível que uma linguagem convencional como o Delphi ou C++.
Quem define os níveis de acesso aos recursos são os processadores. O Windows apenas gerencia esses níveis porque o sistema operacional roda no Ring0. Então é o SO que impõe as regras de acesso apenas a fim de evitar erros no processamento dos códigos. Esse controle não existe somente nas plataformas baseadas em NT. Os níveis de acesso também são estabelecidos nas versões 9x do Windows.
Na verdade o compilador do Delphi não gera drivers por que eles não querem, porque o compilador não foi preparado para gerar essa estrutura diferente que é a estrutura de um Driver. Diferente do compilador do C++ que pode gerar um driver.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)