Nån som kan GCC här?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46933
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Nån som kan GCC här?

Inlägg av TomasL »

Finns det i gcc möjlighet att få en varning när man av misstag till exempel skriver "if(data = 1)" i stället för "if(data == 1)"

Vet att man för att undvika det skall skriva "if(1 == data)", men i bland glömmer man av sig, dessutom om det är två variabler inblandade funkar inte sista varianten.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46933
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Nån som kan GCC här?

Inlägg av TomasL »

Never mind, hittade det "-Wparentheses"
johano
Inlägg: 1943
Blev medlem: 22 januari 2008, 10:07:45
Ort: Stockholm

Re: Nån som kan GCC här?

Inlägg av johano »

En snabb googling gav att -Wparentheses borde funka.

/johan
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: Nån som kan GCC här?

Inlägg av arvidb »

Lite sent svar kanske, men:

Ännu bättre är att använda -Wall. Detta slår på många varningar som man verkligen vill ha, bl.a. -Wparentheses. Under flera år som programvaruutvecklare i C så har jag aldrig fått en varning med -Wall som jag inte borde ha fått, däremot har det hjälpt mig att hitta många (annars svårfunna) potentiella buggar.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Nån som kan GCC här?

Inlägg av baron3d »

arvidb: Tackar för ett mycket bra tips. :D

Hittade genast att antal buggar och felaktigheter.
remne
Inlägg: 241
Blev medlem: 11 februari 2007, 14:11:21
Ort: Linköping

Re: Nån som kan GCC här?

Inlägg av remne »

-pedantic är ju ganska bra att ha påslaget också :)
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: Nån som kan GCC här?

Inlägg av arvidb »

-pedantic har mer att göra med portabilitet än med "bugfrihet". Med -pedantic (tillsammans med -std för att tala om vilket språkstandard man vill följa) så kan man vara säker på att ens kod alltid fungerar på alla kompilatorer som t.ex. stödjer C90-standarden (-std=c90).

-pedantic hindrar en inte från att göra dumma saker som är tillåtet i C-standarden (som tilldelning i if-satser m.m.).
Skriv svar