killezio Posted February 1, 2016 at 04:50 PM Report Share #592885 Posted February 1, 2016 at 04:50 PM (edited) Este é o erro que me dá quando eu compilo o código: void fillPath(short int *path,short int costumer){ short int e; for ( e = 0;e < costumer;e++) path[e] = 1; } begin(){ (...) short int path[flavor]; fillPath(path,costumer); } No entanto quando mudo o argumento do fillpath para &costumer e o recebo como apontador, tudo funciona bem. alguem me sabe explicar que erro é este? pelo que estive a ver na internet... nao percebi PS: o título é a mensagem de erro completa 😛 Edited February 1, 2016 at 10:27 PM by thoga31 GeSHi Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 1, 2016 at 05:15 PM Report Share #592888 Posted February 1, 2016 at 05:15 PM (edited) void fillPath(short int *path, short int costumer){ // <- isto é um valor } begin(){ (...) short int path[flavor]; // <-- isto é um array fillPath(path,costumer); } ps : quando se apresenta um problema com mensagem de erro do compilador, é de bom tom apresentar toda a mensagem Edited February 1, 2016 at 05:16 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
killezio Posted February 1, 2016 at 06:42 PM Author Report Share #592894 Posted February 1, 2016 at 06:42 PM void fillPath(short int *path, short int costumer){ // <- isto é um valor } begin(){ (...) short int path[flavor]; // <-- isto é um array fillPath(path,costumer); } ps : quando se apresenta um problema com mensagem de erro do compilador, é de bom tom apresentar toda a mensagem já editei a mensagem. mas o "costumer" é uma variável Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 1, 2016 at 06:52 PM Report Share #592895 Posted February 1, 2016 at 06:52 PM diz que compilador estás a usar IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
killezio Posted February 1, 2016 at 07:09 PM Author Report Share #592898 Posted February 1, 2016 at 07:09 PM não sei. estou a usar o terminal do mac apenas Link to comment Share on other sites More sharing options...
tiago.f Posted February 1, 2016 at 07:28 PM Report Share #592900 Posted February 1, 2016 at 07:28 PM E mostra a declaração da var customer, sff Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 1, 2016 at 08:04 PM Report Share #592902 Posted February 1, 2016 at 08:04 PM Entao apresenta o comando que usas para compilar IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
killezio Posted February 1, 2016 at 10:03 PM Author Report Share #592910 Posted February 1, 2016 at 10:03 PM (edited) gcc -o resposta2 resposta2.c Ps.: o "-o" é um hífen e a letra "o" Edited February 1, 2016 at 10:04 PM by killezio Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 1, 2016 at 11:12 PM Report Share #592912 Posted February 1, 2016 at 11:12 PM isso é o gcc e como tal tenho a certeza absoluta que terás mais informação a apresentar do que Illegal instruction: 4 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
pwseo Posted February 2, 2016 at 09:07 AM Report Share #592917 Posted February 2, 2016 at 09:07 AM killezio, O GCC que instalaste foi compilado para ser compatível com o sistema que tens? Estás a compilar com algum tipo de optimização? (embora tenhas mostrado a linha de comandos que indica que não, quero ter a certeza) Link to comment Share on other sites More sharing options...
killezio Posted February 2, 2016 at 10:49 AM Author Report Share #592919 Posted February 2, 2016 at 10:49 AM (edited) Juro que é a única mensagem que o compilador dá,hippo. O mais estranho é que quando faço "path[e] = 0" em vez de "path[e] = 1" o erro passa a "floating point: 4" (acho que esse é o nome) que significa que estou a tentar aceder a uma posicao de memoria que nao pertence ao programa. EDIT: o erro chama-se "Segmentation fault"; Edited February 2, 2016 at 04:46 PM by killezio Link to comment Share on other sites More sharing options...
pwseo Posted February 2, 2016 at 11:25 AM Report Share #592921 Posted February 2, 2016 at 11:25 AM killezio, Esse erro aparece-te quando compilas ou quando executas o executável criado? Que sistema operativo estás a utilizar? E que versão do GCC? Link to comment Share on other sites More sharing options...
killezio Posted February 2, 2016 at 01:40 PM Author Report Share #592928 Posted February 2, 2016 at 01:40 PM o erro acontece quando compilo. o sistema operativo é o último do mac. suponho que a versão do gcc seja a última. não sei, nunca tive que mexer nisso porque funciona no terminal do mac. Mas se este informação não for suficiente eu procuro isso e eu inicio a variável <costumer> simplesmente assim na função begin short int costumer; Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 2, 2016 at 03:32 PM Report Share #592936 Posted February 2, 2016 at 03:32 PM então vamos fazer assim. fazes um print screen da console a apresentar a linha de compilação assim como toda a informação que te é apresentada. depois metes em algum serviço gratuito de alojamento de imagens e colocas aqui o link para se poder ver que realmente o gcc não dá informação nenhuma IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
tiago.f Posted February 2, 2016 at 03:53 PM Report Share #592938 Posted February 2, 2016 at 03:53 PM Vê isto tb: http://stackoverflow.com/questions/14268887/what-is-the-illegal-instruction-4-error-and-why-does-mmacosx-version-min-10 Link to comment Share on other sites More sharing options...
killezio Posted February 2, 2016 at 04:41 PM Author Report Share #592941 Posted February 2, 2016 at 04:41 PM desculpa, quando compila não dá erro nenhum, apenas o usual warning do main que não afeta nada. Só dá esse erro quando eu executo o programa http://prntscr.com/9y4bpo Vê isto tb: http://stackoverflow.com/questions/14268887/what-is-the-illegal-instruction-4-error-and-why-does-mmacosx-version-min-10 já tinha visto isso antes de perguntar aqui, mas não faz sentido. aí dizem que tem haver com estar a usar comandos ou binários de uma versão diferente do mac cuja a atual já não conhece como tratá-los. mas aqui,neste programa, não estou a fazer nada de complicado Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 2, 2016 at 04:46 PM Report Share #592942 Posted February 2, 2016 at 04:46 PM vais compilar com este comando: gcc -Wall -pedantic -Werror -o resposta2 resposta2.c IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
killezio Posted February 2, 2016 at 04:49 PM Author Report Share #592943 Posted February 2, 2016 at 04:49 PM hum agora já não me dá esse erro. na altura tinha a certeza que era por causa dessa parte do código mas como agora experimentei outra vez fazer apenas um programa com essa amostra de código já não me acontece nada de mal... infelizmente não vou conseguir saber do que se tratava porque acabei por recomeçar a fazer o programa e já não tenho o código que tinha na altura Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now