Sida 1 av 1

Nån som kan GCC här?

Postat: 14 januari 2013, 13:40:44
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.

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

Postat: 14 januari 2013, 13:49:40
av TomasL
Never mind, hittade det "-Wparentheses"

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

Postat: 14 januari 2013, 13:56:00
av johano
En snabb googling gav att -Wparentheses borde funka.

/johan

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

Postat: 14 februari 2013, 23:14:18
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.

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

Postat: 16 februari 2013, 12:00:58
av baron3d
arvidb: Tackar för ett mycket bra tips. :D

Hittade genast att antal buggar och felaktigheter.

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

Postat: 16 februari 2013, 12:37:17
av remne
-pedantic är ju ganska bra att ha påslaget också :)

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

Postat: 16 februari 2013, 21:15:58
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.).