[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Kode der aldrig bliver kxrt?



Mads Bondo Dydensborg wrote:
> 
> Her er programmet, når man kører det med gcc på en linux maskine:
> 
> nanna > uname && g++ -o tmp -Wall tmp.cc && ./tmp
> Linux
> ged : 0
> sum[0] : 0
> sum[1] : 1
> sum[2] : 2
> ged : 0

Det er det samme som jeg får, og hvad lærebøgerne siger mht. int
arrays... Lavede du den med char og siger sum 0 til 2 = 'b' og ged = 'a'
så giver det dette. 

$uname && g++ test-int.cpp -o test-int-array && ./test-int-array 
Linux
sum[x] : a
sum[x] : a
sum[x] : a
ged : b

 
> Alt er tilsyneladende fint fint.

Yepper :-)
 
> Her er det samme program, oversat med gcc på en hpux maskine og kørt der:
> 
> hermod > uname && g++ -Wall -o tmp.hpux tmp.cc && ./tmp.hpux
> HP-UX
> ged : 0
> sum[0] : 0
> sum[1] : 1
> sum[2] : 2
> ged : 2
>
> Det demonstrerer ret tydeligt at sum[2] og ged er det samme,
> eller rettere at når gcc kompileren ikke forsøger at lægge
> variablene ud så de passer til cache linie, eller hvad det nu
> er den foretager sig, så får man fejl - som i tilfældet med
> HPUX.

Det demonstrere at det ikke er alle kompilere køre ens... og at alle
systemer ikke følger standarderne.... det er faktisk det eneste forsvar
jeg har ud over 1*10^X (hvor X=antal c/c++ prog.bøger på market der
omhandler arrays).

> Pyha, troede lige min verden var fuldkommen rystet, men bare
> et eksempel på den slags fejl der opstår hvis man tager
> oversætteren på een platform for gode varer.

Har jeg aldrig gjort... lærte programmering under windåse... som ikke
altid følger standarderne.... men det er nu bare min mening!

-- 
Bjarke Bruun - E-mail: sslug@sslug http://linux.hhknet.dk
   __
  / /  (_)__  __ ____  __
 / /__/ / _ \/ // /\ \/ /  . . .  t h e   c h o i c e   o f   a
/____/_/_//_/\_,_/ /_/\_\              G N U   g e n e r a t i o n . . .


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *