Ir para o conteúdo
vbmaster

Void on Linux

Mensagens Recomendadas

vbmaster    5
vbmaster

Pois é... tenho gostado bastante de programar em linux, o ambiente é mais leve, os output's ocupam menos espaço (os meus projects em c++ feitos em vs.net 2003 já levavam uns bons 300MB) e em suma tem funcionado bem.

Já sabia que 'voids' em linux não funcionavam, infelizmente, porque eu prefiro sempre declarar uma função como 'void' por calanzisse, mas cheguei agora a uma parte do meu livro em que começa a falar de void pointers, e penso que estes como no fundo não deixam de ser voids, continuam a não estar acessíveis em linux...

O que me leva a fazer um post é no fundo, perguntar o porquê disto, e saber se há algum IDE ou compilador que aceite voids.... até agora só tenho usado para programar em linux, o gedit com modo de realce c++, e o g++ para compilar.

Fiquem bem :P;):D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

São?

Tipo:

#include <iostream>
using namespace std;
void main () {
cout << "Cheiras mal da boca!" << endl;
}

E ele diz, o g++, error: main must return int.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Bruno    0
Bruno

Hmmm, no DEV-C++ q usa o gcc/g++ dá o mm erro q te dava a ti...

Não sei qual é o compilador do vs.net... o proprio compilador poderá mudar o void para int... o gcc/g++ obriga-te a colocares tudo bem :P (e se for a versão 4 ainda consegue ser mais "chata" q as outras)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Pois mas esse é free, não estou a ver a MS a ir buscar os compiladores dos outros..

mas ao que me tenho apercebido void é um tipo de varíavel como qualquer outra em c++, porque haveria o linux de não a deixar declarar uma função?

Enfim... já agora... que IDE usas aí em linux, se é que usas IDE.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Bruno    0
Bruno

Mas afinal há algum problema ou n com o void? O da Main é obvio q n é nenhum problema uma vez q o sistema precisa de saber como o programa terminou!

Eu n uso nenhum IDE... uso apenas emacs e g++ :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
QuickFire    0
QuickFire

Eu usava o Eclipse que é excelente mas agora estou dividido :P Emacs no portatil e Anjuta (Muito bom mesmo :D adoro é mesmo do meu estilo ) para o PC :D para Windows é o dev-cpp

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

O único problema é que o meu livro também não apresenta nenhum pedaço de código completo onde eu possa testar realmente se os void's sempre são suportados e só têm aquela irregularidade na declaração de funções...

Senão já tinha dado feedback... :\

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
theproject    0
theproject

boas, o main por definicao retorna int para poder retornar um inteiro pa funcao _start k é o compilador k a mete... esse inteiro por definicao é 0 se tudo correu bem... kk outra funcao pode retornar kk tipo... se declarares uma funcao como retornando void... bem.. tas a dizer "esta funcao nao retorna nada" .... já se disseres k ela retorna void* nao tas a dizer k ela retorna um ponteiro para nada mas sim um ponteiro pa kk coisa... :D

hasta

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
theproject    0
theproject

Obviamente, a unika coisa k nao podes fazer com um void e tentares sakar um valor de retorno de uma funcao k "retorna" void... isso no gcc por exemplo vai te dar uma mensagem k e kk coisa como : "void value not ignored as it should be" .. pelo contrario, uma funcao k retorna kk coisa (por exemplo um int) nao somos obrigados a apanhar o valor de retorno... no entanto é considerado boa programacao apanhar e testar os valores de retorno para saber se as funcoes correram bem... é comum as funcoes de sistema retornarem um int k segue a mm convencao k eu disse.. 0 pa tudo bem e != 0 pa kk erro... ou entao negativo para erro e >=0 para ok... isso ja depende da funcao...

fikem

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saramgsilva    2
saramgsilva

Obviamente, a unika coisa k nao podes fazer com um void e tentares sakar um valor de retorno de uma funcao k "retorna" void...

fikem

eu sei... :dontgetit:

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 os nossos Termos de Uso e Política de Privacidade