Forum huvudsida -> Programmering -> Programera 32/64-bit
Sidor: 1
ELF | 19:03 - 15:e Juli 2008 | Post #1 | |
Medlem Inlägg: 73 Skicka PM |
Jag har på många ställen läst att folk inte utvecklar 32- och 64-bit mjukvara bara för att det är svårt att underhålla båda. Så dom håller sig hällre bara till 32-bit. Men jag har funderat, funderat, funderat, funderat och funderat. Nämde jag förresten att jag har funderat? Jag kan inte förstå vad som är så svårt. ,,r det inte så lätt som jag tror eller är folk bara väldigt lata? Någon kanske har någon bra sida där jag kan läsa lite mer om detta? En annan sak. Det är skönt att Microsoft har satsat lite mer på att utveckla 64-bit Operativ som är lite mer Up to Date. För då kanske programvaruutvecklare fatta att det är 64-bit applikationer som gäller och inte dom här gamla 32-bit. Har bara använt XP Pro 64-bit i några månader och börjar tycka 32-bit är gammalt ------------------------- May the Elf be with you Senast redigerad 19:52 - 15:e Juli 2008 |
Vitdom | 08:08 - 16:e Juli 2008 | Post #2 | |
Medlem Inlägg: 71 Skicka PM |
Jag har hört om 64-bit och att det är det senaste, men jag förstår inte vad som är bättre med det, vad det har för extra funktioner och hur man programmerar i olika(32/64)? När jag bygger en ny dator har jag tänkt att köpa en 64-bitars processor(och operativsystem). ,,r tacksam om någon skulle kunna förklara detta lite kort för mig. Tack i förhand. -------------------------
Senast redigerad 08:12 - 16:e Juli 2008 |
ELF | 10:49 - 16:e Juli 2008 | Post #3 | |
Medlem Inlägg: 73 Skicka PM |
Tja Vitdom. Har du hittat hit... TheDarkElf på fuska.se Jo, fördelen är ju den att mer data kan hanteras sammtidigt. Operativsystemet kan allokera mer RAM. Ett 64-bit operativ ska i praktiken kunna allokera 16 exabyte. Ett 32-bit operativ kan bara allokera 4 GB. Om det stämmer så ska ett 16-bit operativ bara kunna allokera 65kb. Så du förstår nog vad som är så bra med det. ------------------------- May the Elf be with you |
sdac | 17:32 - 19:e Juli 2008 | Post #4 | |
Medlem Inlägg: 235 Skicka PM |
Det finns många anledningar till att folk har svårt att få sina program att fungera under 64-bitars miljö. Den vanligaste orsaken är väl att folk antagit att minnesadresser är 32-bitars när de utvecklat sina program. Med det i tanke har de utfört pekararitmetik med datatypen int, som i sig vanligtvis är 32-bitars både under 64-bitars och 32-bitars operativssystem. När man sedan ska få det att fungera under 64-bitars ger kompilatorn inga felmeddelanden, utan bara varningar (och inte ens det om man castat ordentligt). Slutligen när man kör det kompilerade programmet så blir det massvis av segmenteringsfel för att pekare förlorat 4 byte av de 64-bitars pekare som det utförts aritmetik på. Stora projekt kan behöva mycket tid på sig att hitta alla småfel. gcc är ganska vänlig på den delen i och med att den varnar när 64-bitars pekare castas till 32-bitars integertal om man kompilerar med -Wall, vilket kan underlätta det hela en aning. Men det är ändå mycket som behöver fixas. Andra orsaker till problem kan vara när utvecklaren lekt trollkarl med datatyper som är olika stora på 32- och 64-bitars system, t.ex. size_t i C. Att det skulle vara svårt att underhålla både 32- och 64-bitars är nog lite överdrivet. Kan man programmera ordentligt är det inget som går fel, men är man lite bakom flötet och antar för mycket kan mycket gå fel. Ett enkelt sätt att vara på den säkra sidan och veta vad man gör (i C) är att använda sig utav typer definierade i stdint.h, t.ex. uint32_t och uint64_t, och så självklart uintptr_t för att utföra aritmetik på pekare. |
ELF | 23:15 - 19:e Juli 2008 | Post #5 | |
Medlem Inlägg: 73 Skicka PM |
Ska man ex. skriva ett 64-bit VB.NET program så ska man helst använda int64 istället för int eller har jag fattat fel? ------------------------- May the Elf be with you |
FunkyChicken | 11:54 - 20:e Juli 2008 | Post #6 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Nej, det finns ingen anledning att använda så stora datatyper i onödan. |
ELF | 13:37 - 20:e Juli 2008 | Post #7 | |
Medlem Inlägg: 73 Skicka PM |
Ok, men vad menar han då med att använda (minnesadresser) ------------------------- May the Elf be with you |
FunkyChicken | 14:47 - 20:e Juli 2008 | Post #8 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
.Net är managed code. Du kompilerar till MSIL och det är CLR:ens problem att köra koden. Du behöver i princip inte bry dig om vilken proccessor som används, du ska inte ens behöva kompilera om för att köra på olika 32/64 bit. Det sdac skriver om pekare behöver du inte bry dig om i VB.NET där man inte använder pekare, och vad gäller datatyper i allmänhet så är en int i .Net alltid en Int32. Problem uppstår i språk där vissa av datatyperna varierar från dator till dator. |
Sabbath | 23:07 - 20:e Juli 2008 | Post #9 | |
Medlem Inlägg: 26 Skicka PM |
Hur är det med Java? Går det att programmera specielt för 64 bit där eller kör den alltid på 32 (eller anpassar det sig)? ------------------------- (double)42/Math.pi==13,37 |
ozamosi | 23:24 - 20:e Juli 2008 | Post #10 | |
Administratör Inlägg: 1129 Skicka PM |
Du blandar ihop helt olika saker... Storleken på en int är ointressant. Int är en datatyp - ett smeknamn på en viss mängd minne (vanligen 4 bytes). ,,r det inte tillräckligt behöver man en long eller något. ,,r det överdrivet mycket kan man använda en short. Det spelar ingen roll om du har en 16-, 32-, 64- eller något-helt-annat-bitarsprocessor - minne är minne. Det som är intressant är vilka register och instruktioner som går att använda på processorn. Java, precis som .Net, kompileras till bytekod. Bytekod är ingen arkitektur alls (eller egentligen är det en arkitektur som inte finns på riktigt), utan kompileras om till maskinkod vid körning. Följaktligen kompileras java vid körning till den plattformen man har - 64-bitar om man kör ett 64-bitars-OS, 32-bitar om man kör ett 32-bitars-OS, osv... ------------------------- Ljusblå |
ELF | 00:57 - 21:a Juli 2008 | Post #11 | |
Medlem Inlägg: 73 Skicka PM |
Ok. Men behöver man då tänka på att skriva för 32/64bit när man programerar i .NET? ------------------------- May the Elf be with you |
FunkyChicken | 12:51 - 21:a Juli 2008 | Post #12 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Nej, inte om du bara använder .NET. (Faktum är att du inte ens KAN anpassa dig särskilt mycket även om du skulle vilja.) Använder du däremot färdigkompilerade dll:er som är dåligt skrivna i ditt projekt kan det bli problem, men det lär du ju märka. |
ELF | 12:06 - 22:a Juli 2008 | Post #13 | |
Medlem Inlägg: 73 Skicka PM |
hmm,ok. ------------------------- May the Elf be with you |
Sidor: 1
Forum huvudsida -> Programmering -> Programera 32/64-bit
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-04 01:00
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.