On 27/12/2012 18:41, Phil Lavoie wrote:
Hi,

I am currently using the win32 api bindings project and things went
rather smoothly in migrating my (not so big) code (so far). I love that
pragmas are everywhere to make the compiler link to proper libraries.

Also, the windows lib included in the distribution of dmd lacks the
"version" import library, so I had to hand make it, but that should not
be the case for a out-of-the-box-ready-compiler, so we should keep that
in mind.

Yes, the .lib files that ship with DMD are out of date.  It's a known issue.
http://d.puremagic.com/issues/show_bug.cgi?id=6625

I am willing to help out but at the same time I am really not that savvy
about Windows system. I will get as savvy as Programming Windows will
get me though.

OK. Have you had a good look at the translation instructions? Downloaded the latest MinGW headers? Got Subversion installed? Let me know if you get stuck somewhere along the line.

So far, I had to modify some code because windows functions should be
marked as nothrow. Otherwise, they are to be placed in try catch blocks
in a win-proc (which has to be nothrow I believe). So I adjusted those I
used (but they usually are in "extern(Windows)" blocks so I just added
"nothrow" to those, correcting a whole bunch of functions at the same
time).

I guess most of us haven't been using the nothrow attribute much and so hadn't noticed it. Good catch.

<snip>
template min(T) {
     T min(T a, T b) {
                 return a < b ? a : b;
     }
}
Supposed to replace a macro, but no type inference make it a hassle to
use (must say min!int( 1, 2 ) for example instead of just min(1,2).
<snip>

IFTI should work perfectly on these. If it doesn't, you have a buggy compiler. What compiler version are you using, and what error message do you get when you try using just min(1,2)?

Stewart.

Reply via email to