Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Где дос ?? 
V
    Опции темы
DigitSphinx
Дата 3.6.2007, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



я не профи smile поэтому есть некоторые непонятки
На VS2005 открываю новый пустой проект и пишу
Код

#include <stdio.h>
void main()
{
       printf_s("TEST");
}

Если открыть release exe’шника (5,50 КБ) в16-ом редактором, то видно где-то в начале файла “This program cannot be run in DOS mode.” (как я понял это MZ заголовок)
Т.е. прога не будет работать на чистом ДОСе ! хотя я подключил только stdio.h !!!
Вопрос №1: Почему ??
далее
В конце exe’шника XML код, открываю project->properties->linker->generate manifest -> NO
Пытаюсь запустить и получаю такую ошибку:
”Приложению не удалось запустится, поскольку MSVCR80.dll не был найден. Повторная установка приложения может исправть проблему”
Вопрос № 2: Почему ??

просто хочется написать прогу под чистый ДОС которая выводит сообщение на экран
перезагрузить комп с дискеты и запустить прогу и полюбоваться на это !!  smile 


Это сообщение отредактировал(а) DigitSphinx - 3.6.2007, 01:42


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
archimed7592
Дата 3.6.2007, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



во-первых не printf_s, а printf, если хочешь, чтобы работало везде...
Цитата(DigitSphinx @  3.6.2007,  01:32 Найти цитируемый пост)
Вопрос №1: Почему ??
потому, что ты собрал её под windows... ты же не удивишься, если ты соберёшь это под linux в виде elf(к примеру) и это потом не будет работать под досом smile
перекомпилируй под досом соответствующим компилятором и всё отлично запустится(если не исправишь на printf, то, даже не скомпилируется)

Цитата(DigitSphinx @  3.6.2007,  01:32 Найти цитируемый пост)
Вопрос № 2: Почему ??
точно не знаю, но у студии такое бывает и без отключения манифеста... мож попробовать изменить RTL на MT-static - мне это помогало

Это сообщение отредактировал(а) archimed7592 - 3.6.2007, 01:37


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Fazil6
Дата 3.6.2007, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(DigitSphinx @  3.6.2007,  01:32 Найти цитируемый пост)
Вопрос №1: Почему ??

потому что компилятор создает exe для windows , а не DOS. Что ты включаешь в свой проект значения не имеет. Имеет значение то, что ты создаешь проект Win32
Цитата(DigitSphinx @  3.6.2007,  01:32 Найти цитируемый пост)
Вопрос № 2: Почему ??

потому, что твоему приложению нужна эта библиотека.

Добавлено через 2 минуты и 51 секунду
Цитата(archimed7592 @  3.6.2007,  01:36 Найти цитируемый пост)
точно не знаю, но у студии такое бывает и без отключения манифеста... мож попробовать изменить RTL на MT-static - мне это помогало

причем здесь манифест? Это CRT для Multithreaded, dynamic link 
PM MAIL   Вверх
DigitSphinx
Дата 3.6.2007, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Цитата(archimed7592 @  3.6.2007,  01:36 Найти цитируемый пост)
 ты же не удивишься, если ты соберёшь это под linux в виде elf(к примеру) и это потом не будет работать под досом 
  smile 
Цитата(archimed7592 @  3.6.2007,  01:36 Найти цитируемый пост)
потому, что ты собрал её под windows

Цитата(Fazil6 @  3.6.2007,  01:40 Найти цитируемый пост)
потому что компилятор создает exe для windows

а выбирать можно только из 4-х платформ 
“Pocket PC 2003”, “Smartphone 2003”, “x64” и “Win32”

Цитата(archimed7592 @  3.6.2007,  01:36 Найти цитируемый пост)
во-первых не printf_s, а printf, если хочешь, чтобы работало везде...

VS 2005 выдает warning что лучше первый вариант , я не думал что это может как-то повлиять потому-то это дело компилятора как перевести в машинный код если ему не нравится pfintf то ради бога будет ему printf_s

Вот … и спасибо ребята за ответы ))

P.S. А вот еще , в состав VS 2005 не входит никаких С++ компиляторов для ДОСа ?

Это сообщение отредактировал(а) DigitSphinx - 3.6.2007, 01:55


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
archimed7592
Дата 3.6.2007, 01:55 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Fazil6 @  3.6.2007,  01:40 Найти цитируемый пост)
причем здесь манифест? Это CRT для Multithreaded, dynamic link  

Fazil6, поверь, бывают у студии такие глюки... по крайней мере у vc-8.0-sp0 бывали... не на одном компе, не у одного человека... у меня тоже было... поверь, ни с хера появлялся такой глюк. ругался на то, что нету дллки, которая лежала в %systemroot%\system32. смена RTL на static версию помогала.

Добавлено через 1 минуту и 50 секунд
Цитата(DigitSphinx @  3.6.2007,  01:53 Найти цитируемый пост)
VS 2005 выдает warning что лучше первый вариант , я не думал что это может как-то повлиять потому-то это дело компилятора как перевести в машинный код если ему не нравится pfintf то ради бога будет ему printf_s

если пишешь прогу для доса(и вообще для чего-нибудь, что придётся компилить не только в студии), то ОЧЕНЬ рекомендую наплевать на эти варнинги... если они очень раздражают, то добавить в код define, который указан в варнинге, чтобы не ругалось


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Fazil6
Дата 3.6.2007, 02:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(archimed7592 @  3.6.2007,  01:55 Найти цитируемый пост)
смена RTL на static версию помогала.

да хтоб сомневался...
PM MAIL   Вверх
DigitSphinx
Дата 3.6.2007, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



в состав VS 2005 не входит никаких С++ компиляторов для ДОСа ?


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
archimed7592
Дата 3.6.2007, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(DigitSphinx @  3.6.2007,  01:53 Найти цитируемый пост)
А вот еще , в состав VS 2005 не входит никаких С++ компиляторов для ДОСа ?
насколько мне известно - нет, но, можно её заставить компилить используя другой компилятор(BC++, к примеру)

Цитата(Fazil6 @  3.6.2007,  02:07 Найти цитируемый пост)
да хтоб сомневался... 
 smile 


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
DigitSphinx
Дата 3.6.2007, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Цитата(Fazil6 @  3.6.2007,  02:07 Найти цитируемый пост)
смена RTL на static версию помогала.

Вы вообще о чем ?? smile 



--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
nerezus
  Дата 3.6.2007, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

в состав VS 2005 не входит никаких С++ компиляторов для ДОСа ?
  а зачем тебе под дос?

Под дос есть Borland C++, правда он кривой и с хреновой юзабилити.

P.S.  /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE|POSIX} - доса походу нету. Ну и не нужен он, ща его место на компах заняла винда. Не так ли? )


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
DigitSphinx
Дата 3.6.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Хорошо забудем про VS 2005 , открываю masm и пишу
Код

.386
.model flat, stdcall
.code
Main:
mov eax, 10
add eax, 3
mov ecx, eax
ret
end Main

компилирую , получаю exe’шник весом в 1 kB в котором тоже написанно “This program cannot be run in DOS mode.”
Опять почему ??


Это сообщение отредактировал(а) DigitSphinx - 3.6.2007, 12:05


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
nerezus
  Дата 3.6.2007, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



DigitSphinx, так ты же под винду компилишь, не так ли? )


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
DigitSphinx
Дата 3.6.2007, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Ну да редактор визуальный , ну да не masm а masm32  smile 
Хорошо я сдаюсь как откомпилить по ДОС ?
И если откомпилить под ДОС в винде будет работать ?



--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Greeen
Дата 3.6.2007, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 7
Всего: 18



Цитата(DigitSphinx @  3.6.2007,  12:17 Найти цитируемый пост)
как откомпилить по ДОС ?

компилить досовским компилятором  smile 


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
DigitSphinx
Дата 3.6.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Цитата(Greeen @  3.6.2007,  12:19 Найти цитируемый пост)
компилить досовским компилятором  smile   

каким ?? smile 

Это сообщение отредактировал(а) DigitSphinx - 3.6.2007, 12:25


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.