Solved

Port from 32-bit VC++ version 6.0 to 64-bit ?

Posted on 2012-03-19
5
370 Views
Last Modified: 2012-03-19
I have an application written in MS VC++ in version 6.0 IDE.   It is time for me to turn it into a 64-bit App (mostly because I sometimes need to deal with large data and I'm getting close to memory limits within my 32-bit app).

What is the path to get to 64-bit?  My guess is, that rather than do this in my version 6.0 IDE on my XP box, I need to first move my app to my copy of VS2008 on my Win7-64 box -- is that correct?   Then I have to work thru any glitches in just re-building my app in VS2008.  Then, finally, somewhere in VS2008 I throw some switch to say "please compile and link as a 64-bit app"  -- is that correct?  Where is this switch?  Then after I work thru all the reasons it doesn't compile and link in 64-bit mode, I then need to test, to find all places where I assume an int was 32 bits, and stuff like that.  Correct?  Can someone verify my roadmap or correct it?  I was surprised that it is hard to find a *simple* and *cogent* (i.e. for dmmies!) explanation of these steps - so finally decided to ask my expert friends!  Thanks.
0
Comment
Question by:tullhead
  • 3
  • 2
5 Comments
 
LVL 86

Expert Comment

by:jkr
ID: 37740517
Well, I'd like to alter the start of your roadmap by recommending to get the latest Platform SDK (http://www.microsoft.com/download/dlx/en-us/listdetailsview.aspx?id=8279). Then I'd first try to fix all issues that arise from going from VC6 to VC8 (there will be some) and only after that do this "throwing the switch" thing, which mainly will consist of creating a Win64 build target for your then matured solution.
0
 

Author Comment

by:tullhead
ID: 37740529
OK, sounds good.  Can you briefly tell me what the latest Platform SDK does for me?  And I assume that goes on the "new win7 computer which hosts my VS2008" -- correct?
0
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 37740550
Yes, that's for the target/build machine. The basic differences will be that your header files and libraries will be updated to include anything that was not present/supported for SDKs that were released after VS 2008 was introduced, which is a big help, yet won't affect your 'old' sources - just the imporvements are worthwile being mentioned. But, even more important, you will get an update on the build tools (which *theorhetically*, haven't tried it) could even make a Win64 build possible with VC6, but let's abandon this idea immediately - just thing "debugging")
0
 

Author Closing Comment

by:tullhead
ID: 37740571
Although I can think of several more related questions, I think its best to accept your solution and head off on this roadmap....  I have a feeling I'll be posting some follow-on questions.  Thanks JKR!
0
 
LVL 86

Expert Comment

by:jkr
ID: 37740581
You're most welcome ;o)

BTW, while we're at this: Be sure to port your code as 32-bit to VS2008 with "64-bit Warnings Enabled" (Project Properties|General) to catch the most obvious problems early in the process.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question