- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The .vcxproj file was created when Visual Studio first opened the .dsp file. You can delete all but the .sln, .suo and .vfproj files.
Also, open the project and go to Properties > Fortran > Command Line. If there's a /machine switch under Additional Options, delete it. You may also want to consider Fortran > External Procedures and changing the Calling Convention to Default, unless you know you depend on the CVF convention.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks. I will do that.
Although I'm hesitant to change calling convention because the program is working right now with the /iface:cvf option. Is there a blog or other web page that explains the calling convention stuff. I don't really understand the differences between options. Most of the time I'm building DLL's to be called from Excel VBA. Both fortran and c++ DLLs. Some of my fortran DLL's have the calling convention set to default, and some have cvf. They are all working, but I'd like to it the right way, and feel like I know what I'm doing. This is a change in topic. Should I start a different thread? I am making myself a Word to spell out how to make DLL's specifically for calling from Excel VBA, and itemize what can go wrong.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Getting the calling convention right was discussed in https://software.intel.com/en-us/forums/topic/563609 .
There I cited a link that discussed the issue from the perspective of making procedures callable from VBA: https://msdn.microsoft.com/EN-US/library/office/bb687850.aspx .
If you want to see how things look on the lowest level, i.e. assembly language, there is http://www.agner.org/optimize/calling_conventions.pdf .
It's no surprise that you are confused. There are different ways to specify the calling convention to be used and how each individual argument is to be passed -- literally hundreds of possibilities, not all of which will compile successfully. My suggestion is to look at the first two links above and review the mixed language chapter in the ifort documentation and then choose a style that makes sense to you and stick with it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll comment that we now have "!DEC$ ATTRIBUTES CVF" which you can specify for a routine that will apply CVF's defaults. But RO's advice is good.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the links. The long thread was over my head, but the msdn article was very helpful. Something I learned from it is not to modify string variables in the DLL unless you really know what you're doing.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page