03. oktober 2001 - 11:36
Der er
5 kommentarer og 1 løsning
union og Struct
Er der nogen der kan oversætte det følgende C++ kode til JAVA : struct TMD5Context { int State[4]; int Count[2]; union { struct { int BufLong[16]; }; struct { Byte BufChar[64]; }; }; } ; Jens B
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
03. oktober 2001 - 11:42
#1
Noget i stil med.... public class TMD5Context { public int state[4]; public int Count[2]; private long BufLong[16]; private char BufChar[64]; public void setLongBuffer(long Pbuf[]) { BufLong = pBuf; } public void setCharBuffer(char Pbuf[]) { BufLong = pBuf; } public long[] getLongBuffer() { BufLong = pBuf; } public char[] getCharBuffer() { BufLong = pBuf; } }
03. oktober 2001 - 11:43
#2
Men structs i Java findes ikke. Kan heller ikke huske hvad union gør? :-)
03. oktober 2001 - 11:51
#3
Tak for hjælpen .. Det ledte mig på sporet : public class TMD5Context { public int[] State = new int[3]; public int[] Count = new int[1]; private long[] BufLong = new long[16]; private char[] BufChar = new char[64]; public void setLongBuffer(long pBuf[]) { BufLong = pBuf; } public void setCharBuffer(char pBuf[]) { BufChar = pBuf; } public long[] getLongBuffer() { return BufLong; } public char[] getCharBuffer() { return BufChar; } } kompilerer i hvertfald .... JEns B
03. oktober 2001 - 12:12
#4
union gør i ovenstående eksempel af du entet læser data som 16 long eller 64 char. I java typecaster man bare, dit eksempel reserverer nemlig både den ene og den anden, og er derfor slet ikke det samme som C eksemplet. Hvor begge buffere bruger det samme stykke hukommelse. Enten skal du typecaste frem og tilbage, eller have nogle metoder som sørger for de to array\'s altid er ens rent binært. Så du var lidt hurtig ude med point,
03. oktober 2001 - 12:26
#5
disky >> Mit problem er jeg ved en masse om Delphi noget om C++ og INTET om JAVA. Jeg skal prote et Delphi program til JAVA (suk ..) Derfor når jeg ser det kompilerer tror jeg det virker ..... Du er velkommen til at lave det om :-) Jens B
03. oktober 2001 - 12:30
#6
ja der er ikke noget java forkert i den kode. Den er bare ikke det samme som din struct/union. forresten skulle der stå 16 int og ikke 16 long.
Kurser inden for grundlæggende programmering