[solved] I need more than 1.4 Gb memory
-
wrote on 7 Apr 2015, 10:24 last edited by Franckynos 4 Aug 2015, 09:34
Hi erverybody,
I need to used more than 1.4Go of memory for my application.
Who can I do this?If used more than 1.4Gb, my application crash.
-
wrote on 7 Apr 2015, 14:47 last edited by
What hardware and operating system are you using?
-
wrote on 7 Apr 2015, 15:09 last edited by Franckynos 4 Jul 2015, 15:28
I use Qt 5.2 with mingw 4.8 32 bit under windows 8.1
And I have 64 Gb of memory
-
It's an OS limitation. Windows exposes only 2GB of addressable memory space to 32 bit processes. Adding to that a minimum allocation size, fragmentation and alignment requirements you're hitting the upper deck.
You could compile your app with /LARGEADDRESSAWARE. That would up the addressable space to 4GB (3.something in practice) on 64 bit system and to 3GB (2.something in practice) on a 32 bit Windows with /3GB switch.
In practice I would recommend to optimize your app. Either make it use less memory or switch to 64bit. It's 2015. It's time ;)
-
wrote on 7 Apr 2015, 16:06 last edited by
@Chris-Kawa said:
It's an OS limitation. Windows exposes only 2GB of addressable memory space to 32 bit processes. Adding to that a minimum allocation size, fragmentation and alignment requirements you're hitting the upper deck.
You could compile your app with /LARGEADDRESSAWARE. That would up the addressable space to 4GB (3.something in practice) on 64 bit system and to 3GB (2.something in practice) on a 32 bit Windows with /3GB switch.
In practice I would recommend to optimize your app. Either make it use less memory or switch to 64bit. It's 2015. It's time ;)
Thx,
I try to pass my app in 64 bits but I have some dll of harware only avilable in 32 bits.
And I don't know how compile in 64 bit with Qt. It's complicatied I found. And everything I trired doesn't work.
I ask this because my app can import/export datas and in this data, I have big pixmap (10800*800), I can have several pixamp in exportation.
If I export more than 40 pixmap, I have more than 1,4 Gb in memory and my apps crash.
I don't know how to prevent this.Thx for your reply.
-
@Chris-Kawa said:
It's an OS limitation. Windows exposes only 2GB of addressable memory space to 32 bit processes. Adding to that a minimum allocation size, fragmentation and alignment requirements you're hitting the upper deck.
You could compile your app with /LARGEADDRESSAWARE. That would up the addressable space to 4GB (3.something in practice) on 64 bit system and to 3GB (2.something in practice) on a 32 bit Windows with /3GB switch.
In practice I would recommend to optimize your app. Either make it use less memory or switch to 64bit. It's 2015. It's time ;)
Thx,
I try to pass my app in 64 bits but I have some dll of harware only avilable in 32 bits.
And I don't know how compile in 64 bit with Qt. It's complicatied I found. And everything I trired doesn't work.
I ask this because my app can import/export datas and in this data, I have big pixmap (10800*800), I can have several pixamp in exportation.
If I export more than 40 pixmap, I have more than 1,4 Gb in memory and my apps crash.
I don't know how to prevent this.Thx for your reply.
wrote on 7 Apr 2015, 16:59 last edited by@Franckynos It is a lot of extra work, but you can access 32bit dlls from a 64bit program with some extra work arounds.
-
@Chris-Kawa said:
It's an OS limitation. Windows exposes only 2GB of addressable memory space to 32 bit processes. Adding to that a minimum allocation size, fragmentation and alignment requirements you're hitting the upper deck.
You could compile your app with /LARGEADDRESSAWARE. That would up the addressable space to 4GB (3.something in practice) on 64 bit system and to 3GB (2.something in practice) on a 32 bit Windows with /3GB switch.
In practice I would recommend to optimize your app. Either make it use less memory or switch to 64bit. It's 2015. It's time ;)
Thx,
I try to pass my app in 64 bits but I have some dll of harware only avilable in 32 bits.
And I don't know how compile in 64 bit with Qt. It's complicatied I found. And everything I trired doesn't work.
I ask this because my app can import/export datas and in this data, I have big pixmap (10800*800), I can have several pixamp in exportation.
If I export more than 40 pixmap, I have more than 1,4 Gb in memory and my apps crash.
I don't know how to prevent this.Thx for your reply.
wrote on 7 Apr 2015, 17:07 last edited by@Franckynos
Check this for precompiled 64 bit Qt:
http://tver-soft.org/qt64 -
@Franckynos
Check this for precompiled 64 bit Qt:
http://tver-soft.org/qt64wrote on 8 Apr 2015, 06:40 last edited by@sirop OHHHHH !! Thank you very much !!! I haven't found this before !!!! :D
-
@Franckynos It is a lot of extra work, but you can access 32bit dlls from a 64bit program with some extra work arounds.
wrote on 8 Apr 2015, 06:44 last edited by@Goddard I'll try access to my lib 32 bits after install Qt 64 bit. I'll let you know.
-
wrote on 8 Apr 2015, 08:17 last edited by
Hi,
I think it's on way...
My compilation has passed !!!
I have juste some error with linking library, I have compiled in 64bits my personnal library. That remove some errors, but I have one that can't be recompile, (supplier lib) who can I include it ?
You have an idea @Goddard ?Thx your reply.
9/10