Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Bruno

Portabilidade do código de Win para Linux

Mensagens Recomendadas

Bruno    0
Bruno

Na sequencia deste tópico: Que sistema operativo tens por default? achei por bem criar este para não tornar o outro mais offtopic!

vbmaster falaste nas libs iostream, ctype, iomanip que usas em windows... sabes se estas bibliotecas não funcionam em linux? Se não funcionarem diz aí o que elas fazem q possivelmente há alguma equivalente em linux :P

Acho q é bom falarmos destes casos... pois o código deve ser portável para qualquer SO. Obviamente se envolver graficos é mais complicado! :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Pois, se eles funcionam ou não não sei...

Mas realmente seria um grande passo para mim poder programar c++ em linux. Se os IDE's existentes para este SO já trouxerem estas lib's, então não há qualquer problema.

Another thing, o nosso programa compilado em linux vem em que tipo de ficheiro? Decerto que não é .exe, pois não?

Fica bem :D;):P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Bruno    0
Bruno

Geralmente é um ficheiro sem extenção (é o mais simples)! :D

Querias dizer problema na tua 2ª linha, certo? (se mudares eu depois tiro isto)

Epá mm sem IDE's n custa explorar 5 minutos e meteres isso a bombar :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Mas como executo e vejo os resultados de um qualquer meu programa num ficheiro sem extensão....nesse caso é apenas um ficheiro de texto.

Além disso, terá o gcc as libs que necessito?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Bruno    0
Bruno

Antes de tudo o g++ é o indicado para C++ (o gcc é para C)... se n tiver é facil incluires :P

Tenta fazer um hello world... (usa um editor de texto normal...por exemplo o emacs)

Em seguida fazes g++ -o executavel <nome/path_do_file_de_texto>

Depois: ./executavel

Qq duvida/problema diz! :D

--- EDIT ---

Não te esqueças de instalar o necessário: "apt-get install build-essential" (no caso do ubuntu)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Sabes que mais...acabei de instalar o g++ por synaptic e tou espantado...fiz um hello world e estava à espera que desse erros, por exemplo no 'using namespace std;' mas tudo deu mais que correcto.

Sim senhor, thanks Bruno, c++ vai começar a rullar aqui em linux... :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
QuickFire    0
QuickFire

Eu disse :D Por acaso instalei isso pelo Automatix (recomendo mesmo) que é um instalador gráfico de programas para os sistemas novos ou seja instala todos os must-have que o ubuntu não trás já :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
deathseeker25    6
deathseeker25

Eu disse :D Por acaso instalei isso pelo Automatix (recomendo mesmo) que é um instalador gráfico de programas para os sistemas novos ou seja instala todos os must-have que o ubuntu não trás já :D

Mas segundo tenho lido, o Automatix apenas funciona em Kubuntu certo? (Ubuntu com KDE instalado....). Há que salientar o trabalho do programador que desenvolveu o Automatix. É um programador que participa em muitas discussões do forum oficial do Ubuntu e incluvé o lançamento do programa foi feito no forum.

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Pois, eu instalei por apt. e depois itve de andar a sacar a versão mais recente do glib, do autoexec do automake e de mais umas cenas... e ainda dá um erro num generic project...acho eu...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Johnny Digital    0
Johnny Digital

boas,

recentemente fiz um projecto em VC++ que dps tive de portar para gcc correndo em cygwin. tudo correu às mil maravilhas com excepção dos comentarios // que como não são ANSI o gcc não aceitou e mais complicado de resolver foram os pipes, pq o windows para um enter recebe um \n e o unix um \n e um line feed.

no entanto acho q foi falta de conhecimento meu, pois deve de haver qq forma de colocar essas contantes de forma a que o compilador faça esse trabalho

joao

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

boas,

recentemente fiz um projecto em VC++ que dps tive de portar para gcc correndo em cygwin. tudo correu às mil maravilhas com excepção dos comentarios // que como não são ANSI o gcc não aceitou e mais complicado de resolver foram os pipes, pq o windows para um enter recebe um \n e o unix um \n e um line feed.

no entanto acho q foi falta de conhecimento meu, pois deve de haver qq forma de colocar essas contantes de forma a que o compilador faça esse trabalho

joao

para c++ usa-se o g++ e não o gcc...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saramgsilva    2
saramgsilva

boas,

recentemente fiz um projecto em VC++ que dps tive de portar para gcc correndo em cygwin. tudo correu às mil maravilhas com excepção dos comentarios // que como não são ANSI o gcc não aceitou

os comentarios em C sao -> /* */  e em C++ // por isso tv como usaste 1 compilador de C, te tenha dado erro...nao?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Guest Ingersoll   
Guest Ingersoll

Um problema que apanho sempre que quero compilar com o g++ código que desenvolvi anteriormente em Visual C++, prende-se com o scope da variável de controlo num ciclo for.

Por exemplo:

for(int i = 0; i < 10; i++) { }

No g++ a variável i tem scope apenas dentro das { } do ciclo for. No Visual C++ a variável i continua com scope no resto do programa. Se por acaso declaro outro inteiro i o compilador queixa-se...

Alguém conhece uma solução simples para este problema?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Pah...

declaras a varivável como universal e depois no for fazes só for (i = 0; i < 10; ++i) {}

assim a variável no for será sempre utilizada correctamente, e poderás usá-la também fora.... 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Guest Ingersoll   
Guest Ingersoll

Isso é o que faço normalmente  :thumbsup:

Mas em programas com milhares de linhas em que os indíces são usados intensivamente na computação (e não apenas para controlo de fluxo) essa não é uma solução prática.

Eu queria saber se existe um comando ou uma opção dos compiladores que permitisse alterar a maneira como o scope de i é definido.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Johnny Digital    0
Johnny Digital

boas,

recentemente fiz um projecto em VC++ que dps tive de portar para gcc correndo em cygwin. tudo correu às mil maravilhas com excepção dos comentarios // que como não são ANSI o gcc não aceitou

os comentarios em C sao -> /* */  e em C++ // por isso tv como usaste 1 compilador de C, te tenha dado erro...nao?

sim, tens razão! julgo q na altura usei o gcc e forcei a compilação em C Ansi ou qq coisa assim. não era bem isso q eu queria dizer...

o q ia mesmo dizer é q o windows/dos usa a combinação CRLF enquanto no linux apenas LF e tb foi necessario rever isso...

já agora, tb costumo usar o cygwin (com um patch para o putty) quando quero trabalhar com o gcc

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Johnny Digital    0
Johnny Digital

Mas em programas com milhares de linhas em que os indíces são usados intensivamente na computação (e não apenas para controlo de fluxo) essa não é uma solução prática.

Eu queria saber se existe um comando ou uma opção dos compiladores que permitisse alterar a maneira como o scope de i é definido.

que eu saiba n existe nenhuma opção para alterar o scope das variaveis, mas posso estar errado... acho estranho o vc++ ter um scope diferente mas sei q outros compiladores da ms funcionam como dizes...

no entanto, se tens uma função com "milhares de linhas" (se percebi bem) devias reformular um pc o teu codigo 8)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade