====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 **asm **pascal __fortran **fastcall **self auto **segment **based __segname **cdecl **huge **inline **interrupt **loadds **near **export **far __saveregs [[C++]] Language Keywords: this class virtual friend private protected public throw try catch new delete operator inline __multiple_inheritance __single_inheritance __virtual_inheritance 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 ===LINKS=== 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' 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=== * http://msdn.microsoft.com/vstudio/express/visualc/download/ * http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en#filelist ===== MISC ===== * http://charlespetzold.com/etc/DoesVisualStudioRotTheMind.html * [[STL]] http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html ===== MORE ===== @TaG: [[MSVC]] [[CPlusPlus]]