Table of Contents

Preprocessor

#ifdef _MSC_VER // msvc-8
///  '=' : conversion from 'double' to 'float', possible loss of data
#pragma warning (disable: 4244) 
// 'sprintf': This function or variable may be unsafe. 
#pragma warning (disable: 4996)
#endif
#ifdef _MSC_VER  // will detect if you're using msvc ++
debugi( _MSC_VER );
// 1200 = msevc-4.00.1610.0
// 1400 = msvc-8.0.50214.0b2 8.0.50727.42
#endif
#ifdef _WIN32_WINCE
#include "wceres.rc"         // WCE-specific components
#endif

WinCE : DEBUG,_i386_,UNDER_CE=$(CEVersion),_WIN32_WCE=$(CEVersion),$(CePlatform),i_386_,UNICODE,_UNICODE,_X86_,x86

#if ===defined(ssize_t)===
#  define ssize_t  long
#endif // Visual C++ does not define ssize_t by default.

SYMBOLS

The following are keywords in Microsoft C and C++ You can't use any C keywords in a C++ program.

Names with leading underscores are Microsoft extensions.

C Language Keywords:

unsigned signed
short float char int double long
void enum union typedef struct sizeof
if else
while do for
switch case default
break  goto continue
return
static const extern volatile register

The following are not keywords, but they have special meaning in Microsoft C++:

main
argc argv envp
_setenvp _set_new_handler  __emit _setargv

Linker

How to enable disable console ( go to link options )

Or put this in your main.cpp

#ifdef _MSC_VER // control msvc linker
#pragma comment(linker,"/SUBSYSTEM:CONSOLE") // or "/subsystem:windows"
#pragma comment(linker,"/ENTRY:main")
#pragma comment(lib, "opengl32.lib")
#endif // _MSC_VER
find ./ -name "*.lib"  -exec basename {} \; \
| xargs -n 1 --replace echo "#pragma comment(lib, {} )" # [[Shell]] Trick
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup

http://www.dependencywalker.com/ ClosedSource Software

FILES

Semi Useless files : .opt .ncb …

http://filext.com/detaillist.php?extdetail=PDB

A program database (PDB) file holds debugging and project state information that allows incremental linking of a Debug configuration of your program.

MFC

Is there any free implementation of MFC ? the wine project may did

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cwnd.asp

BUG

MSVC :

1>Microsoft (R) Incremental Linker Version 8.00.50727.42
...
1>Project : error PRJ0003 : Error spawning 'cmd.exe'.
echo %PATH
# ... and check for other VC

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin

make sure to have :

PATH=C:\WINDOWS\System32;c:\windows\system;c:\windows\system32

http://groups.google.com/groups?hl=en&lr=&threadm=ecrYwd6DBHA.1936%40tkmsftngp04&rnum=1&prev=/groups%3Fq%3D%2522:%2Berror%2BPRJ0003%2B:%2BError%2Bspawning%2B%27cl.exe%27.%2522%26hl%3Den%26lr%3D%26selm%3DecrYwd6DBHA.1936%2540tkmsftngp04%26rnum%3D1

[[GNU]] tools

MISC

dll : libtool for msvc ? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/dynamic_link_library_entry_point_function.asp

http://www.mail-archive.com/autoconf@gnu.org/msg11820.html

Emacs w/ msvc :

http://www.gnu.org/software/emacs/windows/faq10.html

http://www.dotemacs.de/dotfiles/DavidJolley.emacs.html

http://appdb.winehq.com/appview.php?appId=53

http://appdb.winehq.org/appview.php?appId=892

http://codingstyle.com/articles/using-ms-vcpp-with-gnu-wine.html

http://bylands.dur.ac.uk/~mh/wine-faq.html

http://www.lemondeinformatique.fr/sections/actualites/developpeur_referenc/visual_studio_.net_p

http://www.microsoft.com/emea/msdn/betaexperience/frfr/order.aspx

[[Bugs]] , [[Error]]s

Error	102	error: failed to open selection tool IDE key.	cl
error C2039: ... is not a member of 'ATL::_NoAddRefReleaseOnCComPtr<T>'
cl : Command line error D8037 : cannot create temporary il file; clean temp directory of old il files

http://groups.google.fr/group/microsoft.public.win32.programmer.directx.sdk/browse_thread/thread/9ede0f87e95f15dc/1920c2fad1152d24?

MSVC-8

MISC

MORE

@TaG: MSVC CPlusPlus