• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Localhost

Mudança de SO - As consequências

13 mensagens neste tópico

Olá pessoal, nesta última semana tive o decisão de mudança de SO, vou mudar de Windows para Linux...

Surgiram-me então (antes de mudar de SO) algumas dúvidas quanto à programação...

É assim, a programação em C vai mudar em sintaxe alguma? Vou ter de voltar ao inicio de tudo se mudar para Linux? Ou simplesmente tudo se mantém igual?

Obrigado desde já  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tal como o Baderous indicou o código fonte se for só bibliotecas standard C mantém-se igual.

No entanto, tens q recompilar o código fonte, os executáveis não podem ser os mesmos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa Noite.

Tudo depende no nível de programação. Os dois sistemas possuem arquiteturas internas diferentes.

Se estiver utilizando Threads, no windows eles compartilham recursos e memória com o principal, no Linux, cada um é um processo independente, portanto, troca de dados entre os mesmos requerem programação distinta entre os sistemas.

Abraços

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu sei que não é perfeitamente rígida a definção de threads e processos, em muitos casos "threaded code" refere-se a processos independentes. Mas a ideia que tenho, e que penso ser a geral, é que um processo é sim "independente" mas as threads não. Uma thread partilha o mesmo espaço de memória, aliás várias threads correm frequentemente no mesmo processo (essa é uma das diferenças normalmente apontada) seja linux ou windows, o que interessa é o conceito não o SO. Eu em linux já trabalhei tanto com processos e threads e reparei nas suas diferenças.

Agora também, no meu caso, posso dizer que quando se entra na área de processos ou threads o código começa-se a tornar um pouco espcífico (mais por culpa das bibliotecas envolvidas), deve haver uma camada de abstracção entre os dois SO's, mas nunca usei, quando chega a esse nível foi sempre código específico. Mas para código mais geral deverá funcionar sem ou com pouquíssimas alterações.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa Noite.

Tudo depende no nível de programação. Os dois sistemas possuem arquiteturas internas diferentes.

Se estiver utilizando Threads, no windows eles compartilham recursos e memória com o principal, no Linux, cada um é um processo independente, portanto, troca de dados entre os mesmos requerem programação distinta entre os sistemas.

Abraços

Não, não. A questão é que há uma maior preferência pela criação de processos em Unix, e de threads em Windows, mas o Linux suporta perfeitamente threads com compartilhamento de memória, como definidas pelo POSIX:

https://computing.llnl.gov/tutorials/pthreads/#Thread

Desde o kernel 2.6 que o suporte para threads é fornecido pela Native POSIX Thread Library (NPTL), e em testes conseguiu criar 100 000 threads em 2 segundos, enquanto a implementação anterior demorava 15 minutos :)

E aliás, também há suporte para pthreads (POSIX threads) em Windows: http://sourceware.org/pthreads-win32/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem então tudo se mantém igual? Então vou mudar  :D

EDIT: Alguém me podia indicar algum compilador para Linux? Só não gosto de Linux por causa do software  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso não há questão, é o GCC, a maior parte das distros já vêm com ele.

Se queres um IDE, experimenta o Code::blocks.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem então tudo se mantém igual? Então vou mudar  :P

EDIT: Alguém me podia indicar algum compilador para Linux? Só não gosto de Linux por causa do software  :)

boas,tens um comlilador chamado adjunta,ou eclipse,e tb tens o code blocks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Arranja a máquina virtual ,é muito mais fácil e prático.Podes estar com o windows e com o linux abrtos ao mesmo tempo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,tens um comlilador chamado adjunta,ou eclipse,e tb tens o code blocks

Só uma correcção, nenhum desses é um compilador.

O Anjuta, Eclipse e Codeblocks são programas para gerir projectos e editar código, ou seja, IDEs. Por serem ambientes integrados de programação, permitem interagir com compiladores de forma a compilar todo o projecto com um simples clique.

Apesar de todos suportarem o GCC, pelo menos o Codeblocks pode usar também o VC++, o Borland, o Digital Mars e o Intel.

0

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