Jump to content

Void on Linux


vbmaster
 Share

Recommended Posts

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 😛 ;)😄

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 😛 (e se for a versão 4 ainda consegue ser mais "chata" q as outras)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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++ 😛

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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... :\

Link to comment
Share on other sites

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... 😄

hasta

Link to comment
Share on other sites

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

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.