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

Localhost

Mudança de SO - As consequências

Mensagens Recomendadas

Localhost    7
Localhost

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á  :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dennyazevedo    0
dennyazevedo

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
merlin3000    0
merlin3000

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
IceBrain    1
IceBrain

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/

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Localhost    7
Localhost

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  :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
duarte_valente    0
duarte_valente

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
IceBrain    1
IceBrain

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.

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