VOGONS


Visual Studio .NET 2005 beta2

Topic actions

Reply 20 of 31, by millin

User metadata
Rank Newbie
Rank
Newbie

I think another thing should be paid attention to is the "Manifest" options in VS2005, and how to redistribute 8.0 CRT dlls, if we want build dosbox with VS2005 and let it run on another computer.

It's really a little complicated.... and some detailed discussion can be found on http://blogs.msdn.com/nikolad ... may be useful

PocketDosBox

Reply 21 of 31, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

we will not use vs205 to build dosbox and distribute it.

We use mingw for that. (and supprisingly one of the reasons is that 8.0 crt.dll stuff)

Water flows down the stream
How to ask questions the smart way!

Reply 22 of 31, by millin

User metadata
Rank Newbie
Rank
Newbie

That 8.0 crt.dll may bring much more trouble to WINE.... I'm afraid.. 🙁

But anyway, VS2005 still seems to be a amazing tool to build dosbox for PocketPC....

It can easily build binaries for PC, PocketPC2003, PocketPC2003se and WM5.0 in the same IDE. 😀

I've modified my code, and will have a try later... when I got a standard edition, which can cross compile.

PocketDosBox

Reply 23 of 31, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Qbix, you've said x64 building is supported? Well...since unfortunately there is no 64-bit mingw (yet?), VS.NET is the only option for win64 build. BUT (now...read this 😜) - Microsoft removed inline assembly support from their 64-bit compilers !! So, assuming dynamic core works for x86_64 (well does it?) it cannot be compiled for win64 unless the asm is moved to a seperate source file or compiler intristics are used. Without dyncore, 32-bit builds are still the way to go...

Reply 24 of 31, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well x64 building is supported on linux.
didn't take vs.net in consideration.

Water flows down the stream
How to ask questions the smart way!

Reply 25 of 31, by Kronuz

User metadata
Rank Member
Rank
Member

In my patched builds, I built the CRT statically under VS8, why not have it that way in the default build configurations?

In fact I built everything statically, which could probably be the best approach for most users (as only one file would be needed, and that binary file would be smaller than the sum of all binary files currently needed: 1.95MB vs. 1.61MB aprox.)

One thing I liked about VS8 is the profile guided optimization (I found it can increase performance by up to 10-15% under some situations.)

Kronuz
"Time is of the essence"

Reply 26 of 31, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

gcc (which mingw uses) does that, too. And probably better than most others, rapidly getting better. They're already quite competitive to the intel compiler.

Remember that static building denies your users the possibility to exchange DLLs for own versions, which is at least useful for SDL and anything you didn't build with all possible options.

Reply 27 of 31, by Kronuz

User metadata
Rank Member
Rank
Member
`Moe` wrote:

gcc (which mingw uses) does that, too. And probably better than most others, rapidly getting better. They're already quite competitive to the intel compiler.

Yep, but what I meant is that it's a new feature for Visual Studio 😉
plus gcc in mingw doesn't yet have x86-64 support, and that's one issue too. After checking the x86-64 architecture, I think great optimizations can be achieved by the compiler both in code size and speed in many areas of most compiled programs... and since the topic of the thread is on Visual Studio 2005....

`Moe` wrote:

Remember that static building denies your users the possibility to exchange DLLs for own versions, which is at least useful for SDL and anything you didn't build with all possible options.

Yeah, that's a drawback, but since most users probably don't [need to] change the DLLs.... perhaps only SDL.dll should be kept dynamic... or who knows... both paradigms have their pros and cons... but I felt it would be easier for most users to have only a single binary to care about; on my account I think it would be better like integrating a fully working, compatible, more uniform and tested set of library versions for an "official release"... but then again, who knows.

Kronuz
"Time is of the essence"

Reply 29 of 31, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Kronuz: Weeell, the pre-compiled version doesn't support x64-64. gcc in itself supports it, but you will have to compile it yourself. (Hey, that last part sounds somehow familiar, doesn't it? 😉 )

HunterZ, no. At least not without massive work. Static and dynamic linking are very different things.

Reply 31 of 31, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

I've installed Visual Studio 2005 final today, no much difference in speed but the generated exe is smaller 😀
Anyway I'm a bit tired of those deprecated functions warning, so I disabled it adding this to src/platform/visualc/config.h:

#if defined(_MSC_VER) && (_MSC_VER >= 1400)
#pragma warning(disable : 4996)
#endif