Jump to content
Bruno

Portabilidade do código de Win para Linux

Recommended Posts

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Bruno

Mais um convertido :P Ehheh

Muitos esqueçem-se q os compiladores que usam em Windows foram feitos pela GNU :D

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
QuickFire

Nop... a version normal é para Ubuntu (com gnome) para Kubuntu existe uma version especial do Automatix :D

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Johnny Digital

o projecto era C, mas como soh tinha o VC++ usei o q tinha.. dps tive de refazer algumas cenas mas... deu pó 18 :)

Share this post


Link to post
Share on other sites
Dabubble

Para quem nao sabe C++ do .NET e 96% standartizado, enquanto o C++ windows stand-alone e so 80 e picos...

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
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.... 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
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

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