Jump to content

Portabilidade do código de Win para Linux


Bruno
 Share

Recommended Posts

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 😛

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

Link to comment
Share on other sites

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 😄 ;)😛

Link to comment
Share on other sites

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

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 😛

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

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! 😄

--- EDIT ---

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

Link to comment
Share on other sites

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... 😄

Link to comment
Share on other sites

Eu disse 😄 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á 😄

Link to comment
Share on other sites

deathseeker25

Eu disse 😄 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á 😄

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

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.... 

Link to comment
Share on other sites

Guest Ingersoll

Isso é o que faço normalmente  👍

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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.