locked
Memory Addressing with 32 Bit App Running on 64 Bit RRS feed

  • Question

  • A Quick Question:

    If I run a 32 bit Windows Forms App that uses both managed code and native WIN32 pointers on 64 bit OS, will my app be able to address the additional memory provided by x64 OS?

    Thanks.

     


    Scanner Man
    Wednesday, March 2, 2011 6:04 PM

Answers

  • No,

    I am assuming that you app is strictly 32 bit. It depends on the build configuration used in you .Net project.

    If it is "anyCPU" then it will run as 64 bit app on 64 bit CPU and 32 bit app on 32 bit CPU

    If it is "x86" then it will run as 32 bit app on 64 bit CPU

    I am assuming your project is using x86.


    Please "Mark As Answer" on that post and "Mark as Helpful" if it solved your problem.
    • Marked as answer by Paul Zhou Thursday, March 10, 2011 2:06 AM
    Thursday, March 3, 2011 10:00 AM
  • Yes. In case your app runs on 64 bit it should be fine. As it is 32 bit, it will be running WOW system of 64 bit OS.
    You should be able to see your app running in task manager marked with *32 under process tabs.
    In case it is not working, you need to make sure that you build app for 32 bit specifically. 
    I think making .Net manage code as Any CPU won't help, until unless you convert native to 64 bit. Or you specifically compile to target 64 bit (both manage and native)
    Note app will run under wow and you wont be able to use complete address space provided by 64 bit. So if your app memory runtime requirement exceed 4GB, you should convert to true 64 bit app.

    Thanks, Sachin
    • Marked as answer by Paul Zhou Thursday, March 10, 2011 2:06 AM
    Monday, March 7, 2011 3:16 PM

All replies

  • No,

    I am assuming that you app is strictly 32 bit. It depends on the build configuration used in you .Net project.

    If it is "anyCPU" then it will run as 64 bit app on 64 bit CPU and 32 bit app on 32 bit CPU

    If it is "x86" then it will run as 32 bit app on 64 bit CPU

    I am assuming your project is using x86.


    Please "Mark As Answer" on that post and "Mark as Helpful" if it solved your problem.
    • Marked as answer by Paul Zhou Thursday, March 10, 2011 2:06 AM
    Thursday, March 3, 2011 10:00 AM
  • Much further information, please refer to: /platform (C# Compiler Options).


    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, March 4, 2011 10:33 AM
  • Yes. In case your app runs on 64 bit it should be fine. As it is 32 bit, it will be running WOW system of 64 bit OS.
    You should be able to see your app running in task manager marked with *32 under process tabs.
    In case it is not working, you need to make sure that you build app for 32 bit specifically. 
    I think making .Net manage code as Any CPU won't help, until unless you convert native to 64 bit. Or you specifically compile to target 64 bit (both manage and native)
    Note app will run under wow and you wont be able to use complete address space provided by 64 bit. So if your app memory runtime requirement exceed 4GB, you should convert to true 64 bit app.

    Thanks, Sachin
    • Marked as answer by Paul Zhou Thursday, March 10, 2011 2:06 AM
    Monday, March 7, 2011 3:16 PM