Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
OVERPOWER8
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
1

Слабо создать программу, которая много чего делает, а в main только return 0?

22.01.2010, 01:58. Просмотров 2466. Ответов 26
Метки нет (Все метки)

Пояснение:

Имеется некая функции
C++
1
Function() {}
Причем она может делать что угодно.
Кто-то знает, как запустить эту функцию НЕ из main?

Например:

C++
1
2
3
4
5
6
7
8
9
void Function() // Любая ф-ия, которая делает что угодно. (Пример)
{
    cout << "Succeed!\n";
}
 
int main()
{
    return 0;
}
(чё-то сделать, main() НЕ менять!)
Результат:
Bash
1
2
3
overpower8@Milla-home:~/Projects$ g++ Program.cpp -o Program
overpower8@Milla-home:~/Projects$ ./Program
Succeed!


Я знаю, как это сделать. Но знает ли кто-либо еще?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2010, 01:58
Ответы с готовыми решениями:

Почему в одних случаях пишут void main(), а в других случаях int main() {return 1;}
Препод мне доказывает, что void в main`е писать неправильно, а объяснить не...

Создать программу, которая подсчитывает количество чисел в тексте и выводит на екран все слова, состоящие только из латинских букв
Создать программу , которая подщитывает количество чисел в тексте (не цыфр, а...

Как в main() создать указатель на функцию, которая находится в классе?
В этом примере как определить указатель на функцию F()? class A { public:...

`main' must return `int'
Почему возникает такая ошибка? И я правильно программу написал? Она должна...

Использование return в main
Если возвращаем 0 то это означает что прога норм завершилась, иначе значит были...

26
zim22
depict1
276 / 141 / 4
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 12:48 21
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
А вот и не правда! У меня на G++ он идеально заработал!
мда... GCC содержит в себе G++
0
taras atavin
4204 / 1767 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
22.01.2010, 12:50 22
C
1
G++;
,
C++
1
G++;
,
C#
1
G++;
по-моему это переносимый код инкремента переменной с именем g.
0
Evg
Эксперт CАвтор FAQ
19289 / 7148 / 528
Регистрация: 30.03.2009
Сообщений: 20,000
Записей в блоге: 30
22.01.2010, 13:13 23
Цитата Сообщение от taras atavin Посмотреть сообщение
Единственный? Я так не думаю. Разве нельзя покопаться в готовом исполняемом коде и подменить стартовый адрес в заголовке файла?
А ещё можно перепрошить биос и чтобы он сразу при запуске программы hello world печатал. Можно пойти ещё дальше и внести изменения прямо в процессор, чтобы наверняка работало

OVERPOWER8, gcc и g++ это по большому счёту одно и то же, называемое общим словом "GNU-комилятор"
2
ISergey
Maniac
Эксперт С++
1409 / 920 / 148
Регистрация: 02.01.2009
Сообщений: 2,749
Записей в блоге: 1
22.01.2010, 13:15 24
Evg,
0
Genius Ignat
1241 / 779 / 108
Регистрация: 16.09.2009
Сообщений: 2,014
22.01.2010, 22:36 25
Знаю из WinMain можно.

Добавлено через 1 минуту
Я вообще ни въеду к чему эти вопросы.

Добавлено через 3 минуты
OVERPOWER8:
Ты ещё битцепсем похвастайся.

Добавлено через 4 минуты
как запустить эту функцию НЕ из main?
inline void f1() {
Function();
}
0
HIMen
4262 / 1429 / 101
Регистрация: 12.04.2009
Сообщений: 2,346
22.01.2010, 22:50 26
Цитата Сообщение от taras atavin Посмотреть сообщение
по-моему это переносимый код инкремента переменной с именем g.
C++
1
2
3
4
5
6
7
8
#include <iostream>
int main() 
{ 
    int i=0;
    int r = (i++)+(i++); 
    std::cout << r; 
    return 0; 
}
Код
out: 0
C#
1
2
3
4
5
6
7
8
9
10
using System;
class Program
{
    static void Main(string[] args)
    {
        int i = 0;
        int r = (i++) + (i++);
        Console.WriteLine(r);       
    }
}
Код
out: 1
переносимого кода не бывает
0
zim22
depict1
276 / 141 / 4
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 22:56 27
Цитата Сообщение от HIMen Посмотреть сообщение
переносимого кода не бывает
уже 1000 раз обсуждалось. ключевые слова для гугла(без кавычек): "sequence point i++"
Цитата Сообщение от HIMen Посмотреть сообщение
int r = (i++)+(i++);
0
22.01.2010, 22:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2010, 22:56

Написать программу которая делает перестановки введенных симолов
Доброго всем времени суток. вот такая задачка. 4. Написать программу которая...

Ошибка main' must return 'int'
Line 6: error: '::main' must return 'int' compilation terminated due to...

В чём смысл return в main()?
Есть ли смысл возвращать значение переменной в main()? Если да - зачем? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru