What should expericenced Unix programmer to be aware of using Microsoft Tools? What should expericenced Unix programmer to be aware of using Microsoft Tools? unix unix

What should expericenced Unix programmer to be aware of using Microsoft Tools?


P.S.: Can someone explain why "ReleaseWith Debug Info" requires Debugversion of MSVC runtime?

It doesn't.

And why theretwo versions of runtime exist at all?

Because the debug version does more error checking.

And I still have numerous wired issuesand wired bugs and very strangebehavior -- even some trivial thingsdo not work under MSVC builds,

* What am I doing wrong?

Not telling us what "wired issues and wired bugs and very strange behavior" you get.

* Where should I start?

By telling us the specific errors and problems you encounter.

* What do I miss?

Reading the documentation and learning the tools.

If your question is "What do I read to become a good Windows programmer?" then my answer is: Everything from Jeff Richter, as a start.


There is no magic bullet which will automatically make you an experienced Windows developer. Windows is a very different land compared to Unix. There are lots of quirks, weird behavior, and stuff which is just plain different. The only way to get out with your sanity intact is to tackle the transition one small problem at a time. Concentrate on a specific problem and try to understand the problem. Don't just "get it to work", but really understand what is happening. A good book about Windows programming will help.

There are huge amounts of Windows knowledge and experience accumulated in the SO community, but the only way to access it is to ask concrete questions about specific problems.


The release and debug versions of DLL's use different ways of allocating memory, that is why it is not advisable to mix release and debug versions. If you allocate something in a debug mode DLL and pass it back to the application which was compiled in release mode you may get into trouble.

In the case of your naming issues you may want to have different directories where you place your static / dll's. You can do do this in visual studio by using the configuration manager, not sure how it is under the express version.