- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to compile our code in 64bit mode and run inot an error. It compiles and runs just fine in 32bit mode.
[bash]ifort -nologo -c -auto -Qansi_alias- -pad_source -traceback -fltconsistency -fpconstant -nogen-interfaces -module:o -Io -Ienvrl -Imatpro -Irelap -Iscdap -Igraphics -object:relap\rnewp.o relap\rnewp.for relap\rnewp.for(308): error #6284: There is no matching specific function for this generic function reference. [CREATETHREAD][/bash]
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not as much information as I'd like to see, normally, but this one is pretty easy. CreateThread has some arguments that change size based on the address size of the architecture. If you have improperly declared these as INTEGER or INTEGER*4, then you'll get this error on Intel 64 because that won't match the declaration.
I'm going to do my Carnack the Magnificent impersonation and predict that it is the dwStackSize argument that is the culprit, though it might be lpStartAddress. Or both. dwStackSize you might not have guessed - MSDN says it is SIZE_T, which is C speak for an integer that can hold the maximum size of an array (or any other item.) On Intel 64, this is 64-bits. You can use INTEGER(SIZE_T) - SIZE_T is properly declared in IFWINTY. If you're passing a constant, then use 100000_SIZE_T or similar.
The start address also needs to be an address-sized integer.
I'm going to do my Carnack the Magnificent impersonation and predict that it is the dwStackSize argument that is the culprit, though it might be lpStartAddress. Or both. dwStackSize you might not have guessed - MSDN says it is SIZE_T, which is C speak for an integer that can hold the maximum size of an array (or any other item.) On Intel 64, this is 64-bits. You can use INTEGER(SIZE_T) - SIZE_T is properly declared in IFWINTY. If you're passing a constant, then use 100000_SIZE_T or similar.
The start address also needs to be an address-sized integer.
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