Visual C ++: подсистема компоновщика

Я новичок в C ++, и я здесь, чтобы учиться.

Прежде всего, я сделал несколько программ на Borland C ++, в школе, но в моей школе нет Visual C ++, и у меня нет никого, кто мог бы научить меня программировать на Visual C ++.

Проблема в том, что когда я пытаюсь изменить подсистему компоновщика (настройки проекта) на Windows (/ SUBSYSTEM: WINDOWS), я получаю это в окне вывода:

1>------ Build started: Project: hew, Configuration: Debug Win32 ------
1>  main.cpp
1>c:\users\mxmike\documents\visual studio 2010\projects\hew\main.cpp(1): fatal
error C1083: Cannot open include file: 'iostream.h': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Мой код действительно прост:

#include <iostream.h>
#include <stdlib.h>

int main(int f)
{
int i=1;
return 1;
}

Я просто не понимаю. Кто-нибудь будет так добр, объясните мне?
Спасибо за чтение!

2

Решение

Здесь нет <iostream.h> заголовок. Стандартный заголовок библиотеки для ввода / вывода <iostream>, Ни один из заголовков стандартной библиотеки C ++ не заканчивается .h,

Заголовки, которые существуют, заканчиваются .h взяты из стандартной библиотеки C. Так, например, <stdlib.h> является заголовок стандартной библиотеки C. Стандарт C ++ делает эти заголовки доступными, но он также предоставляет свои собственные альтернативы с почти идентичным содержимым. Просто удалите .h и добавить c к началу. Так что C ++ версия <stdlib.h> является <cstdlib>,

Нужно ли вам на самом деле содержание либо <stdlib.h> или же <cstdlib> это другое дело. Большая часть функциональности имеет улучшенные аналоги C ++ в специфичных для C ++ заголовках. Например, эти заголовки C предоставляют malloc, но вы должны вместо этого использовать new-выражения в C ++.

Также обратите внимание, что возвращение 1 от main как правило, признак неудачи. Чтобы указать на успешное выполнение, выполните return 0; вместо.

3

Другие решения

Существует два стандартных типа заголовочных файлов в C ++. Те, которые происходят от C, такие как < stdlib.h> который в C ++ должен быть включен как < cstdlib> (сними .h и префикс с c) и тому подобное < iostream>, который является заголовочным файлом C ++, который заменяет C < stdio.h>.

То, что вы хотите, это:

#include <cstdio>
#include <cstdlib>

или же

#include <iostream>
#include <cstdlib>

в зависимости от того, какие функции / функции вы вызываете в своем коде (в случае, если вы не предоставили ни одной, поэтому оба должны работать).

С Уважением,

Джейсон Позит

1