- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve,
I have a question regarding the IVF 10.0/VS2005 development environment. I'm migrating a c++/Fortran application to the 64-bit compiler, and I have noticed that in debug mode, when I place the mouse on a function name, a 32-bit hexadecimal number (i.e. #45C46D) is displayed, which I think is the address of the function. Shouldn't this address be a 64-bit number, since the environment has been configured for the 64-bit compiler?
Thanks
I have a question regarding the IVF 10.0/VS2005 development environment. I'm migrating a c++/Fortran application to the 64-bit compiler, and I have noticed that in debug mode, when I place the mouse on a function name, a 32-bit hexadecimal number (i.e. #45C46D) is displayed, which I think is the address of the function. Shouldn't this address be a 64-bit number, since the environment has been configured for the 64-bit compiler?
Thanks
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When you say "the environment has been configured for the 64-bit compiler", what do you mean? To build a 64-bit application you must create a new project configuration with a target platform of "x64". If what you did was go into Tools > Options > Intel Fortran and "changed" the compiler, that did not configure anything.
With the project open, select Build > Configuration Manager. Change "Active Solution Platform" to "". A new dialog appears, The first option is labeled "Type or select the new platform". If "x64" is not already shown, or is not present in the list, stop as you have not installed the VS x64 support. If it is, click OK and then Close. Now you'll see that the Solutions Platforms dropdown at the top of the project (to the right of "Debug" or "Release" has changed from Win32 to x64. NOW you're ready to build a 64-bit app.
With the project open, select Build > Configuration Manager. Change "Active Solution Platform" to "
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - ocean
Steve,
I have a question regarding the IVF 10.0/VS2005 development environment. I'm migrating a c++/Fortran application to the 64-bit compiler, and I have noticed that in debug mode, when I place the mouse on a function name, a 32-bit hexadecimal number (i.e. #45C46D) is displayed, which I think is the address of the function. Shouldn't this address be a 64-bit number, since the environment has been configured for the 64-bit compiler?
Thanks
I have a question regarding the IVF 10.0/VS2005 development environment. I'm migrating a c++/Fortran application to the 64-bit compiler, and I have noticed that in debug mode, when I place the mouse on a function name, a 32-bit hexadecimal number (i.e. #45C46D) is displayed, which I think is the address of the function. Shouldn't this address be a 64-bit number, since the environment has been configured for the 64-bit compiler?
Thanks
Steve,
Both compilers are properly configured inside of Visual Studio. When I compile the Fortran code, IVF displays "Compiling with Intel Fortran Compiler 10.0.025 [Intel 64]." But I still wonder why the debugger shows a 32 bit addressfor the highlighted function.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When using Visual Studio click on the little arrow to the right of "Win32", select Configuration Manager. select New Configuration from the pull down, pick x64 and reply Yes to the based on Win32. Initially you will likely be doing this for the Debug configuration, you will have to remember to do this for the Release configuration (and any other configurations you have).
Note, this requires that you have the x64 version of the compiler installed on your system.
From there try a build and check for errors. Depending on your application you may have nothing, to little, to significant changes to perform.
If you are not mixed language and if your application is using the standard Fortran libraries then you might be pleasently surprised that this is all you need to do. If you have other 3rd party libraries you may need to declare the paths to the x64 libraries etc...
My first conversion of a 13 project solution with 750 files went relatively smoothly. Other than $(Platform) to the paths to where the .MOD files were located I had no additional changes.
Note, older Win32 only applications used to build to
ProjectPathDebug
Consider changing this to
ProjectPathx32Debug
ProjectPathx64Debug
(same for Release) then you will have symmitry between x32 and x64 platforms (and others if you have them too).
Good luck
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
When you say "the environment has been configured for the 64-bit compiler", what do you mean? To build a 64-bit application you must create a new project configuration with a target platform of "x64". If what you did was go into Tools > Options > Intel Fortran and "changed" the compiler, that did not configure anything.
With the project open, select Build > Configuration Manager. Change "Active Solution Platform" to "". A new dialog appears, The first option is labeled "Type or select the new platform". If "x64" is not already shown, or is not present in the list, stop as you have not installed the VS x64 support. If it is, click OK and then Close. Now you'll see that the Solutions Platforms dropdown at the top of the project (to the right of "Debug" or "Release" has changed from Win32 to x64. NOW you're ready to build a 64-bit app.
With the project open, select Build > Configuration Manager. Change "Active Solution Platform" to "
I did create a project using my 32-bit code, and following the steps you highlighted above.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jeff Arnold informs me that the debugger will indeed show 32-bit values for addresses in this context, even in a 64-bit application. This is considered a bug, but a low priority one.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It would appear that you are using the 64-bit compiler to produce a 32-bit applicaiton.
In Visual Studio, on the tool bar, to the right of the configuration name (Debug in this case) is the platform name. This should be x64 not Win32 nor x32. After you add or select the configuration, if you still have problems, go into the Configuration Manager (click on the pull-down button to the right of the configuration name), make sure x64 is the active configuration, then in the Configuration Manager, check for and make certain the x64 configuration is in the Selected for Build. i.e. the Configuraiton Manager will show a property sheet (looks like a spreadsheet) with each Project listed under titles
Project | Configuration | Platform | Build
For each of your projects (may be one or more), run through each Configuration (starting with Debug), insure you have a Platform named x64 (add a platform for x64 if not present using the pull-down arrow on right side of field containing the platform), and make sure the check box for Build (for the x64 platform is checked). Repeat for each project.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Jeff Arnold informs me that the debugger will indeed show 32-bit values for addresses in this context, even in a 64-bit application. This is considered a bug, but a low priority one.
I understand. I just wanted to make sure that there wasn't anything wrong with my settings.
Thanks
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page