Jump to content

Mudança de SO - As consequências


Localhost
 Share

Recommended Posts

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á  🙂

here since 2009

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

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

Criar é Divertido

Link to comment
Share on other 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/

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

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

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

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

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

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.