#c #visual-studio-2010 #c builder
#c #visual-studio-2010 #c builder
Вопрос:
У меня есть простое консольное приложение Win32 (без vcl), написанное на Borland C 5, теперь я хочу скомпилировать то же приложение в VS 2010. но я новичок в этой IDE и не знаю, как запустить код в VS. Я попытался выбрать консольное приложение Win32. но даже я очень простое приложение, подобное этому
#include <iostream.h>
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
cout << "Hello" << endl;
getchar();
return 0;
}
не компилируется в VS.
Итак, какой проект VS 2010 C я должен выбрать для компиляции простого консольного приложения Borland C 5? или мне нужно изменить свое приложение, чтобы использовать VS C ?
Ответ №1:
<iostream.h>
устарел, и VS10 его не поддерживает, используйте <iostream>
вместо этого, и вам также понадобится std::cout
, std::endl
, и т. д. т. е.
#include <iostream>
#pragma hdrstop
// #pragma argsused // I don't believe this is valid in VS10
int main(int argc, char* argv[])
{
std::cout << "Hello" << std::endl;
std::cin.get();
return 0;
}
В качестве альтернативы, если вы не хотите добавлять префикс к использованию вашей библиотеки std::
, вы можете поместить объявление using вверху, после заголовков:
using namespace std;
Комментарии:
1. Ни один из
#pragma
используемых s не действителен в VC , поэтому их нужно удалить.2. Да, и для устаревшего кода вы можете поместить single using namespace std; вверху. Не лучшая практика для нового кода, но в вашем случае это имеет смысл.
3. @ildjarn: hdrstop, по-видимому, есть.
4. Код не компилируется, если я не добавляю
#include "stdafx.h"
его в исходный код, обязательно ли это?5. @Salvador: Это если вы скомпилируете его для использования предварительно скомпилированного заголовка, а имя вашего предварительно скомпилированного заголовка — «stdafx.h». Оба этих параметра используются по умолчанию при создании нового проекта.