lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

2008/8/5 Antonio Scuri <>:
>  That is not recommended, since the CRTL include files on newer versions
> are different and some macros that points to internal functions will be
> invalid if you do that.

Good point.

>  Also msvcrt is not the best option. I guess is the most convenient option.
> But the latest msvcr* have many bug fixes and improved support for
> multithreading.

However, MS C, when compiling a simple "Hello, world" program, creates
a file hello.exe.manifest, which is required to make the executable
run. I've no idea how to:

- create one of these by hand, so that I can use mingw to create
msvcr90-enabled executables
- allow lua51.dll (compiled with msvcr90) to be used in an executable
*without* such a manifest (say, because the executable itself does not
use the CRT at all)
- distribute such an executable legally (msvcr90 isn't freely
redistributable, AIUI, and doesn't come with the OS)

None of these problems arise with msvcrt. And while I'm sure you're
right about bug fixes, I've never in practice hit a CRT bug in msvcrt,
so I don't see that as a serious issue to be concerned about.

So I stick with my assertion that msvcrt is the most practical CRT to
use. If there is no way of supporting both MS C and Mingw, I'll choose
msvcrt and Mingw. (And if that means I moan at people who write
extensions which aren't source-compatible with mingw, then so be it