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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать exe из файла С++ ? 
:(
    Опции темы
hoz
Дата 5.7.2013, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 Читаю книгу по С++ "Дейтел Х. Как программировать на C++". Читается очень легко. НО. Хочу попутно всё проверять на практике.
 Решил проверять те примеры, которые приводятся в книге. Значится нужно создать .exe файл, чтоб это проверить. Как это сделать?
 Нашёл некоторые материалы в сети.. о том как создать .exe файл в Visual Studio, но есть нестыковки. Например,
Тут говорится, что нужно:
1. Нажать на Project в главном меню.
2. Выбрать Properties/
Но у меня такого и близко нет!
user posted image

Как быть в таком случае?

Это сообщение отредактировал(а) hoz - 5.7.2013, 14:53
PM MAIL   Вверх
SenkraD
Дата 5.7.2013, 14:55 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 23



hoz, может вам хватит и онлайн компиляторов для проверок кода с книжек?


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
hoz
Дата 5.7.2013, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(SenkraD @  5.7.2013,  14:55 Найти цитируемый пост)
hoz, может вам хватит и онлайн компиляторов для проверок кода с книжек? 

Первый раз о таком слышу. Пока что думаю хватит.
 А разницы какая вообще? Тока без библиотек можно скомпилить такими онлайн компиляторами код? Или суть в совместимость будущей между платформами, где будет применяться код?

И всё-таки, для расширения кругозора, почему у меня такого элементам меню нет в VS? О нём я в первом посте упомянул ( Мне уже просто интересно стало, программа то таже..)
PM MAIL   Вверх
SenkraD
Дата 5.7.2013, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 23



в студии F5 нажать попробуйте ))


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
hoz
Дата 5.7.2013, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(SenkraD @  5.7.2013,  22:03 Найти цитируемый пост)
в студии F5 нажать попробуйте )) 

Попробывал, реакции никакой..
PM MAIL   Вверх
SenkraD
Дата 5.7.2013, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 23



в общем, в меню Build, должно быть Build Solution, если вы создавали проект программу, а не просто файлик,  а в Debug должна быть Start Debuging. пробуйте

Если лень гуглить, то TeamVier и стучитесь в личку, покажем с первых рук , так сказать smile


Это сообщение отредактировал(а) SenkraD - 5.7.2013, 23:29


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
hoz
Дата 5.7.2013, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



SenkraD, вообще не лень, но я привык, как, например, в mql4 код компилится с одного цельного файла, который даже может быть не проектом (с библиотеками), а одним файлом. А тут выходит, что один файл не скомпилировать?
Значится завтра постучусь. Как раз скажу, причину того, почему я в С++ полез. Может Вам будет это интересно..


Кстати, по поводу on-line компиляторов. Они какие-то кривые что-ли.
Из книги взял примитивный код, который хотел увидеть как работает для практики. Вот код:
Код

// Сложение 2 целых чисел
#include <iostream.h>

 using namespace std;

int main()
{
int integer1, integer2, sum;
 
cout << "Введите первое целое число\n";
cin >> integer1;
 
cout << "Введите второе целое число\n";
cin >> integer2;
 
sum = integer1 + integer2;
cout << "Сумма равна " << sum << endl;
return 0;
}

 Вот у меня тока один выдал верный результат, но скачать exe-шник там нельзя. Вот здесь.
На этом ресурсе при компиляции выдаёт сообщение об ошибке:
Код

prog.cpp:2:22: fatal error: iostream.h: No such file or directory
compilation terminated.

Такая же ошибка и тут
Хотя, более поздние языки, как я понял, должны поддерживать библиотеки и заголовочные файлы предшественников. в нашем случает С++ наследует от Си. Ведь в Си - iostream.h, а в С++ - iostream (вроде тк пишется, не суть важно... думаю смысл и так понятен). Так вот не компилится больше ни где, что б скачать готовый exe-шник. Тока в первом варианте всё работает, но там выдаёт результат и всё..

Это сообщение отредактировал(а) hoz - 6.7.2013, 20:52
PM MAIL   Вверх
SenkraD
Дата 6.7.2013, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 23



mql это же кажить для форекса, у меня друг плагины писал раньше. вцелом, один файлик превратить в бинарь можно, просто тут сложнее чем с трагслятором: cpp->object file->linking->binary, тоесть две команды с консоли для файлика нужно написать, но студия розсчитана на разработку проектов, потому IDE розсчитана на проекты, а если ручками охота, то ищите маны на cl.exe  - это компилятор, который со студией идет или смотрите в сторону гнушных аналогов, но вцелом лучше студии под винду ничего нет.


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
hoz
Дата 6.7.2013, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(SenkraD @  6.7.2013,  00:20 Найти цитируемый пост)
mql это же кажить для форекса

Именно так.

Цитата(SenkraD @  6.7.2013,  00:20 Найти цитируемый пост)
просто тут сложнее чем с трагслятором: cpp->object file->linking->binary, тоесть две команды с консоли для файлика нужно написать, но студия розсчитана на разработку проектов, потому IDE розсчитана на проекты, а если ручками охота, то ищите маны на cl.exe  - это компилятор, который со студией идет или смотрите в сторону гнушных аналогов, но вцелом лучше студии под винду ничего нет. 

Мне не важно как, главное, что б работало. Ибо всё не изучишь всё-равно...
PM MAIL   Вверх
SenkraD
Дата 6.7.2013, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 23



Цитата(hoz @  5.7.2013,  23:44 Найти цитируемый пост)
Ведь в Си - iostream.h, а в С++ - iostream (вроде тк пишется, не суть важно...
в С iostream.h отродясь не было, да нужно у всех стандартных плюсовы хедеров в старых книжках убирать розширение и почти везде писать using namespace std; после включение всех хедеров. это все проходят smile


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
borisbn
Дата 6.7.2013, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



>  почти везде писать using namespace std; после включение всех хедеров. это все проходят

Я не проходил. Везде пишу std:: Получается, я - плохой программист?
P.S. это был сарказм и риторический вопрос. С чего Вы взяли, что писать везде using namespace std; - это общепринятая и правильная практика?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
SenkraD
Дата 6.7.2013, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 23



Цитата(borisbn @  6.7.2013,  10:14 Найти цитируемый пост)
 чего Вы взяли, что писать везде using namespace std; - это общепринятая и правильная практика?
Цитата(SenkraD @  6.7.2013,  01:18 Найти цитируемый пост)
 в старых книжках убирать розширение и почти везде писать using namespace std; после включение всех хедеров
я сам везде пишу std:: и так со всеми неймспейсами, очень редко пишу using namespace xxx, лучше синоним сделать, а написал я о using namespace std; исключительно для упрощения запуска примеров с книжек, пока освоишся с языком





--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
hoz
Дата 6.7.2013, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Чутка переделал код. Вот так скомпилился без вопросов на данном ресурсе:
Код

// Сложение 2 целых чисел
#include <iostream>
 
using namespace std;
 
int main()
{
int integer1, integer2, sum;
 
cout << "Input Number1\n";
cin >> integer1;
 
cout << "Input Number2\n";
cin >> integer2;
 
sum = integer1 + integer2;
cout << "Sum is " << sum << endl;
return 0;
}    


1. Опять же, если в cout заносить русские буквы, то в exe-шке выводятся кракозяблы. Это по дефолту так и должно быть?
2. Знак /n тоже не верно воспринимается компилятором. Вот так выглядит, как буква n добавилась из кода выше после ввода запроса:
user posted image

3. Ввожу я 2 числа и окно компилятора сразу закрывается, и я не успеваю увидеть результат. Как же тогда быть?

Это сообщение отредактировал(а) hoz - 6.7.2013, 22:16
PM MAIL   Вверх
bsa
Дата 6.7.2013, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 85
Всего: 196



добавь в конце программы (перед return): system("pause"); тогда окошко не будет закрыааться.
с русским языком всегда проблемы были. используй пока только латиницу.
не путай обратный слэш  и обычный: /n и \n - разные вещи. 
PM   Вверх
hoz
Дата 7.7.2013, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(bsa @  6.7.2013,  22:46 Найти цитируемый пост)
добавь в конце программы (перед return): system("pause"); тогда окошко не будет закрыааться.

Да, тока пришлось подключить библиотеку #include <cstdlib>.
Вот так запустилось:

Код

// Take the sum of two number.
    
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
int integer1, integer2, sum;
 
cout << "Input Number1\n";
cin >> integer1;
 
cout << "Input Number2\n";
cin >> integer2;
 
sum = integer1 + integer2;

cout << "Sum is " << sum << endl;

system("pause");

return 0;
}



Цитата(bsa @  6.7.2013,  22:46 Найти цитируемый пост)
не путай обратный слэш  и обычный: /n и \n - разные вещи.  

У меня же везде \n, как и нужно.. Как в книге Дейтела, так, и вообще в других языках как Си, так и в пхп и в перле так же вводятся управляющие последовательности. Но после компиляции строки с просьбой ввести целое число выглядят так как на скрине:
 user posted image


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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