S
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
CTF с учебными материалами Codeby Games
Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.
вроде, не совсем это, там много пунктов, и основной упор на право распространения продукта, или его частей...GPL подразумевает, что ты поставляешь исходники открыто.
код можно писать в блокноте.но эссно, что лицензию на VS я не читал
а можно и в тетради, не так ли?код можно писать в блокноте.
Можно даже на заборе, я к тому что как вы мне докажите что я писал не в блокноте а в студии?а можно и в тетради, не так ли?
How to compile MFC code in Visual C++ Express
Five simple steps
To compile MFC code within the Express edition of Visual C++, you first need to perform five steps:
Step 1 - First of all, you need to download and install the Visual C++ Express edition, if you have not already done so.
Step 2 - Go to the Windows Server 2003 driver development kit (DDK) webpage, download the DDK ISO file, and burn it to a CD. Most of the time, you can just use the CD burning software that comes with your computer for this task, or alternatively, you can use this software, or this.
Step 3 - Install the DDK from the CD (execute setup.exe on the CD). It is enough to simply install the default selection (Build Environment, Documentation, Tools for Driver Developers).
Step 4 - You have to add a couple of directory paths to tell Visual C++ where the MFC related files can be found. This can be done by selecting in the "Options..." entry in the "Tools" menu, like shown in the image below:
DemoMFC
Then, in the "Projects and Solutions" entry in the list on the left, select "VC++ Directories". Now, in the "Show directories for" dropdown on the right, select "Include files". Here, you should add (simply click on an empty line) the following paths:
* $(DDK_directory)\inc\mfc42
* $(DDK_directory)\inc\atl30
whereby you should replace $(DDK_directory) with the directory where you installed the DDK in the previous step, which is "C:\WINDDK\3790.1830" in my case; see the image below:
MFC_Express2.PNG
Now, change the "Show directories for" dropdown to "Library files", and add:
* $(DDK_directory)\lib\mfc\i386
* $(DDK_directory)\lib\atl\i386
Again, replace $(DDK_directory) with the path to the DDK on your machine; see the image below:
MFC_Express3.PNG
Step 5 - In the last step, you have to edit the file "afxwin.inl", which can be found in the $(DDK_directory)\inc\mfc42 directory.
In this file, from line 1033 onwards, change:
Collapse
_AFXWIN_INLINE CMenu:perator==(const CMenu& menu) const
{ return ((HMENU) menu) == m_hMenu; }
_AFXWIN_INLINE CMenu:perator!=(const CMenu& menu) const
{ return ((HMENU) menu) != m_hMenu; }
into:
Collapse
_AFXWIN_INLINE BOOL CMenu:perator==(const CMenu& menu) const
{ return ((HMENU) menu) == m_hMenu; }
_AFXWIN_INLINE BOOL CMenu:perator!=(const CMenu& menu) const
{ return ((HMENU) menu) != m_hMenu; }
Looking for the differences? Well, "BOOL" has been inserted twice (mind the capitals).
On your marks, Get set, Go!
Now, you are all set to compile MFC programs in the Visual C++ Express edition. Download the example program at the top of this article, and try it!
Aren't there any issues? Of course, there are! You just installed version 4.2 of MFC, which is the version that was delivered with Visual Studio 6. This means that if you have code that uses MFC features introduced after VS6, it will not compile. Further, you will not be able to run with the MFC debug DLLs, nor will you be able to link statically against MFC. Using dynamic linking in release mode makes everything run fine, though. Finally, the Express edition does not come with the drag and drop MFC resource editor. You can either edit your resource files (these are the files that determine how your windows look like) by hand in text mode, or you can try an external program.
Обучение наступательной кибербезопасности в игровой форме. Начать игру!