Страница 13 из 51
STUB заглушка для MS DOS Ваша программа может запускаться не только в Windows. Совсем не тяжело представить ситуацию, когда пользователь может запустить программу из MS DOS. Тогда он получит сообщение, что якобы эту программу запускать надо в Windows. Это стандартная реакция, как это делается ??? В код компилированной программы добавляется еще один код для сеанса MS DOS. Это Win32 ? | ------------------- | | нет да заглушка основная программа
Так вот заглушка есть стандартная, но Вы можете ее и поменять используя директиву линковщику (Link) - STUB. Мало того, что Вы можете сделать красивое объяснение пользователю куда ему обратиться, чтобы работать с Вашей программой :-) и что надо сделать, например, запустить Windows. Вы можете сделать круче. Для того, чтобы Вам сделать приложение заглушку в данной версии VC вам придется использовать недокументированную опцию линковщика /KNOWEAS. После того как создана подобная заглушка ее надо подключить в Project - Setting - Link - Project Options, например, так: /stub:Noname.exe
Если заглушка будет созданна не по правилам, то вы получите примерно такое сообщение: Linking... Noname.exe : warning LNK4060: stub file missing full MS-DOS header; rebuild stub with /KNOWEAS 16-bit LINK option
В книге "Программирование на Borland C++ для Windows", которую писал Том Сван, а как мне кажется это очень хороший автор, написано, что некоторые программисты используют данную возможность для того, чтобы сделать две версии программы в одном EXE файле для Windows и для DOS. Мне эта идея понравилась :-) Классно пользователю вообще все равно просто запустил откуда запускается и работай :-). |