Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > помогите с компилятором для c++


Автор: sasha962 19.12.2007, 17:52
Посоветуйте пожалуйста компилятор, который мне сможет скомпилировать и запустить без ошибок вот такую программу:
#include <iostream>
int main()
{
std::cout<<"Welcome to c++!\n";
return 0;
}

Автор: zkv 19.12.2007, 18:05
для какой ОС?

Автор: vx92 19.12.2007, 19:14
Если под Windows, бери http://www.bloodshed.net/devcpp.html,

Совет:

чтоб не писать перед каждым оператором std::оператор, перед функцией int main() напиши
using namespace std;

Код

#include <iostream>
using namespace std;
int main()
{
cout<<"Welcome to c++!\n";
return 0;
}

Автор: JackYF 19.12.2007, 19:25
Цитата(vx92 @  19.12.2007,  19:14 Найти цитируемый пост)
Совет:

чтоб не писать перед каждым оператором std::оператор, перед функцией int main() напиши
using namespace std;

это плохой совет.

Добавлено через 31 секунду
Почему - давно и долго обсуждалось.

Автор: vx92 19.12.2007, 19:29
Объясни почему???

Автор: JackYF 19.12.2007, 19:57
Цитата(vx92 @  19.12.2007,  19:29 Найти цитируемый пост)
Объясни почему??? 

потому что все имена из пространства std оказываются внесены в локальное пространтсво имён, что очень усложняет работу компилятору (читай - увеличивать скорость компиляции), и может провоцировать совпадение локальных и стандартных имён.

Автор: vx92 19.12.2007, 20:06
Цитата

потому что все имена из пространства std оказываются внесены в локальное пространтсво имён...


Локальное пространство имен объявляеться в какой-либо функции:
Код

#include <iostream>
int main()
{
using namespace std; //Объявление локального пространства имен для функции int main().
cout<<"Welcome to c++!\n";
return 0;
}


а это глобальное пространство имен для всей программы:
Код

#include <iostream>
using namespace std;//объявление глобального пространства имен.
int main()
{
cout<<"Welcome to c++!\n";
return 0;
}

Автор: JackYF 19.12.2007, 22:33
Цитата(vx92 @  19.12.2007,  20:06 Найти цитируемый пост)
а это глобальное пространство имен для всей программы:

хорошо. Ты вносишь имена в глобальное пространство имён. Все аргументы остаются в силе.

Автор: dizel003 19.12.2007, 22:34
Цитата(sasha962 @ 19.12.2007,  17:52)
Посоветуйте пожалуйста компилятор, который мне сможет скомпилировать и запустить без ошибок вот такую программу:
#include <iostream>
int main()
{
std::cout<<"Welcome to c++!\n";
return 0;
}

Подоёдет обыкновенный ***Microsoft Visual C++***, Progects - Win32 Console Application, и файл с расширением cpp ( с другими не пробовал!) , программа работает без ошибок и выводи твою фразу!!!

сразу видно что работаешь с книгой!! Если нужен обыкновенный вывод то лучше написать без std::(будешь путаться), и подключить библиотеку с расширеним h ( но не обязательно!) и вот тебе простейшие примеры вывода!

Код

#include <iostream.h>
void main()
{
cout<<"Welcome to c++!\n";
}


или 

Код


#include <iostream>
using namespace std;

void main()
{
cout<<"Welcome to c++!\n";
}


Автор: Mayk 19.12.2007, 22:59
Цитата(sasha962 @  19.12.2007,  21:52 Найти цитируемый пост)
Посоветуйте пожалуйста компилятор, который мне сможет скомпилировать и запустить без ошибок вот такую программу:

gnu c++. под винду можно достать вместе с CodeBlocks ide. бесплатны и свободны. не знаю идёт ли codeblocks под юниксами, но гнус там точно есть smile 

а вообще http://www.thefreecountry.com/compilers/cpp.shtml


Цитата(dizel003 @  20.12.2007,  02:34 Найти цитируемый пост)
и подключить библиотеку с расширеним h 

iostream.h и подобных .h нет в стандартном си++ нет с 1998-го года[а до этого и стандарта не было]. 
void main()'а тоже не является верной конструкцией. верны лишь int main() и int main( int argc, char* argv[] ); 
про std:: выше написали.
добавлю что перетаскивать кусок кода из места где стоял using namespace std; в место где его не было [например в другой файл] это БольшаяГоловнаяБоль.

Автор: sasha962 20.12.2007, 11:43
Цитата

Если под Windows, бери Dev-C++

Но когда я запускаю скомпилированную программу у меня появляется командная строка и тутже исчезает.smile 
А как установить borland c++ compiler 5.5? 

Автор: zkv 20.12.2007, 12:24
Цитата(sasha962 @  20.12.2007,  11:43 Найти цитируемый пост)
Но когда я запускаю скомпилированную программу у меня появляется командная строка и тутже исчезает.

в конце функции main() добавь std::cin.get();

Автор: Computer_Shark 20.12.2007, 13:28
Я пользуюсь Microsoft Visual Studio C++ 2005, я просто не пойму, почему не запустит компиляция. smile 
Я впервые создал новый файл Win32 Console Application
Вторые: (посмотри скриношот), дальше нажал Finish 
user posted image
Третьи: написал код:
Код

#include <iostream.h>
void main()
{
cout<<"Welcome to c++!\n";
}
 
Четверти: нажал Start Debugging  
Пяте: (посмотри скриншот), дальше нажал Yes 
user posted image
После строили программу, написано ошибка: 
Unable to start program ‘e:\my document\programming\visual c++\document\tutorial1\debug\tutorial.exe’ 
Я не понял, отчего это программа программирования не хочет создать файл tutorial.exe

Автор: vx92 20.12.2007, 13:41
MSVisual C++ очень сложен для начинающих, установи что-нибуть по проще: Dev-C++, Builder C++,
gnu C++.

Автор: zkv 20.12.2007, 14:06
Computer_Shark, надо было установить флаг "Empty project"
ну и как объяснил Mayk, код лучше такой:
Код

#include <iostream>
int main()
{
  std::cout<<"Welcome to c++!\n";
}

хотя ошибка не с этим связана - попробуй запустить диспетчер задач (Ctrl+Alt+Del)  и убей процесс с именем твоего ехешника

Цитата(vx92 @  20.12.2007,  13:41 Найти цитируемый пост)
MSVisual C++ очень сложен для начинающих

да ну, чем это?

Автор: vx92 20.12.2007, 14:34
Цитата

да ну, чем это?

А тем, что для создания простых проектов нужно нажать на кучу кнопок.
я не спорю MSVisual C++ отличная среда, но не для написания простых программ.

Автор: Computer_Shark 20.12.2007, 15:04
Код для старая программа программирования или Microsoft Visual Studio C++ 2003, но это код для Microsoft Visual Studio C++ 2005 – не может работать, потому что есть ошибка.
Код

//Cod for old programme of programming or Microsoft Visual Studio C++ 2003

#include <iostream.h>

void main()
{
cout<<"Welcome to c++!\n";
}

 Код для Microsoft Visual Studio C++ 2005
Код

//Cod for Microsoft Visual Studio C++ 2005

#include <iostream>
using namespace std;

void main()
{
cout<<"Welcome to c++!\n";
}

Они просто не одинаково.

Автор: zkv 20.12.2007, 15:14
Computer_Shark, ничего не понял. Если русским не владеете, то хоть по-английски объясните.

Автор: Computer_Shark 20.12.2007, 15:29
zkv, sorry, I can't explain...
MS Visual C++ 2005 can't read cod: #include <iostream.h>, because this error is written "Cannot open include file: 'iostream.h'", but MS Visual C++ 2005 can read cod:
Код

#include <iostream>
using namespace std;
...

Автор: zkv 20.12.2007, 15:39
I've already shown correct (for Visual Studio 2005) choice:
Код

#include <iostream>
int main()
{
  std::cout<<"Welcome to c++!\n";
}


Цитата(Computer_Shark @  20.12.2007,  15:29 Найти цитируемый пост)
#include <iostream>
using namespace std;

it is correct too, so I cant understand what is your problem now?

Автор: Computer_Shark 20.12.2007, 15:52
Цитата(zkv @  20.12.2007,  15:39 Найти цитируемый пост)
it is correct too, so I cant understand what is your problem now? 

I have forgotten to write this cod:  smile 
Код

#include <iostream>
using namespace std;

void main()
{
cout<<"Welcome to c++!\n";
}

Цитата(zkv @  20.12.2007,  15:39 Найти цитируемый пост)
I've already shown correct (for Visual Studio 2005) choice:    
Код

#include <iostream>
int main()
{
  std::cout<<"Welcome to c++!\n";
}


Thank you, I didn't know...


Автор: THandle 20.12.2007, 18:24
Я когда начинал изучать C++ компилировал Microsoft Visual C++ Toolkit 2003. Имхо, очень удобно для начинающего.

Автор: sasha962 20.12.2007, 18:31
Цитата(zkv @ 20.12.2007,  12:24)
в конце функции main() добавь std::cin.get();

Когда я добавляю в конце функции main() std::cin.get(); компилятор выдаёт ошибку.
А напишите мне пожалуйста код программы, которая выведет на экран "welcome to c++!" без ошибок. И скажите каким компилятором её скомпилировать.
 smile 

Автор: zkv 20.12.2007, 18:46
Код

#include <iostream>
int main()
{
  std::cout<<"Welcome to c++!\n";

  std::cin.get(); 
}


Цитата(sasha962 @  20.12.2007,  18:31 Найти цитируемый пост)
И скажите каким компилятором её скомпилировать.

любым, поддерживающим стандарт

Автор: sasha962 20.12.2007, 19:33
Но у меня опять такая же проблема. smile 
Может быть дело в ОС.
А у вас программа с таким же кодом компилируется?
Если да, то каким компилятором вы пользуетесь?

Автор: vx92 20.12.2007, 19:37
Цитата

А у тебя какая ОС?


Добавлено через 32 секунды
А у тебя какая ОС?

Автор: sasha962 20.12.2007, 19:42
У меня Windows XP.

Автор: zkv 20.12.2007, 19:51
Цитата(sasha962 @  20.12.2007,  19:33 Найти цитируемый пост)
Если да, то каким компилятором вы пользуетесь?

VC++ 8.0

Автор: vx92 20.12.2007, 19:53
Мой тебе совет. Установи http://www.bloodshed.net/devcpp.html и твоя программа попрет как миленькая.

Автор: sasha962 20.12.2007, 20:18
А какую версию нужно устанавливать  Dev-C++.
Просто есть версия Dev-C++ 5 (currently beta) и на ней не работает эта программа.

Автор: vx92 20.12.2007, 20:28
Фот ссылка: http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe

Автор: sasha962 20.12.2007, 20:55
Но и с компилятором  Dev-C++ такая же проблема.
Значит дело не в коде и не в компиляторе.
Непонятно в чём.
Спасибо за советы.

Автор: vx92 20.12.2007, 21:05
Я не понял почему не работает;
Я тот же файл скачивал, у меня прекрасно работает;

А какая ошибка при компиляции на Dev-C++;

Автор: Mayk 20.12.2007, 21:06
Цитата(sasha962 @  20.12.2007,  22:31 Найти цитируемый пост)

Когда я добавляю в конце функции main() std::cin.get(); компилятор выдаёт ошибку.

а может покажешь текст ошибки?

Автор: sasha962 21.12.2007, 21:16
А какой прект создавать  в dev-c++. Windows application, console application, static library, dll или empty project?

Автор: vx92 21.12.2007, 21:34
Цитата

А какой прект создавать  в dev-c++. Windows application, console application, static library, dll или empty project?


console application

Автор: sasha962 21.12.2007, 21:38
А тогда программа должна открываться в командной строке?

Автор: vx92 21.12.2007, 21:42
Да, в командной строке.

Для просмотра результата можно использовать Far

Автор: sasha962 21.12.2007, 21:45
А что за Far. Я такого даже не слышал. smile 

Автор: vx92 21.12.2007, 21:55
Far - Программа для работы в командной строке.
(См.Файл)

Автор: sasha962 21.12.2007, 22:02
Но когда я компилирую программу в dev-c++, он говорит файл неоткомпилирован. 

Автор: JackYF 21.12.2007, 22:06
Цитата(sasha962 @  21.12.2007,  22:02 Найти цитируемый пост)
он говорит файл неоткомпилирован.  

так и говорит?

Автор: sasha962 21.12.2007, 22:09
Он выводит сообщение.

Автор: vx92 21.12.2007, 22:11
smile
Наверно это связано с тем что у тебя установлен MSVisual C++

Добавлено через 2 минуты и 8 секунд
Какое сообщение? smile 

Автор: Bester 21.12.2007, 22:24
Помогите, учюсь програмировать на С++ (еще чайник) и, разумеется, мне нужен компилятор. Посоветуйте че-то. Чем пользуются професионалы?

Автор: vx92 21.12.2007, 22:29
Профи пользуються MSVisual C++ или С++ Builder.

Добавлено через 3 минуты и 29 секунд
sasha962 раскажи процес создания программы с момента запуска Dev-C++ до вывидения сообщения.
Распиши все по мелочам.

Автор: Bester 21.12.2007, 23:04
Посоветуйте тогда какую версию MSVisual C++ лучше всего качать. К ней кряк надо? Его тяжело найти?

Автор: JackYF 21.12.2007, 23:44
Цитата(Bester @  21.12.2007,  23:04 Найти цитируемый пост)
К ней кряк надо?

Обсуждение кряков и вареза на форуме запрещено.

Цитата(vx92 @  21.12.2007,  22:29 Найти цитируемый пост)
Профи пользуються MSVisual C++ или С++ Builder.

g++, как минимум, забыл.

Модератор: Давайте вернёмся к теме обсуждения.

Автор: sasha962 22.12.2007, 10:42
У меня получилось создать программу . Большое всем спасибо. 
smile 

Автор: vx92 22.12.2007, 11:08
Ну наконец. Поздравляю smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)