Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
#1

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

22.01.2010, 01:58. Просмотров 2325. Ответов 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!


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

Ошибка main' must return 'int' C++
C++ `main' must return `int'
int main() и его return(узнать код завершения программы в cmd) C++
Как в main() создать указатель на функцию, которая находится в классе? C++
C++ Напишите программу, которая использует три определяемых пользователем функции (включая main ())
Ошыбка File1.cpp(29): E2467 'main()' cannot return a value C++
C++ Написать программу которая делает перестановки введенных симолов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 12:48     Слабо создать программу, которая много чего делает, а в main только return 0? #21
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
А вот и не правда! У меня на G++ он идеально заработал!
мда... GCC содержит в себе G++
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.01.2010, 12:50     Слабо создать программу, которая много чего делает, а в main только return 0? #22
C
1
G++;
,
C++
1
G++;
,
C#
1
G++;
по-моему это переносимый код инкремента переменной с именем g.
Evg
Эксперт CАвтор FAQ
17305 / 5553 / 347
Регистрация: 30.03.2009
Сообщений: 15,112
Записей в блоге: 26
22.01.2010, 13:13     Слабо создать программу, которая много чего делает, а в main только return 0? #23
Цитата Сообщение от taras atavin Посмотреть сообщение
Единственный? Я так не думаю. Разве нельзя покопаться в готовом исполняемом коде и подменить стартовый адрес в заголовке файла?
А ещё можно перепрошить биос и чтобы он сразу при запуске программы hello world печатал. Можно пойти ещё дальше и внести изменения прямо в процессор, чтобы наверняка работало

OVERPOWER8, gcc и g++ это по большому счёту одно и то же, называемое общим словом "GNU-комилятор"
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
22.01.2010, 13:15     Слабо создать программу, которая много чего делает, а в main только return 0? #24
Evg,
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
22.01.2010, 22:36     Слабо создать программу, которая много чего делает, а в main только return 0? #25
Знаю из WinMain можно.

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

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

Добавлено через 4 минуты
как запустить эту функцию НЕ из main?
inline void f1() {
Function();
}
HIMen
4119 / 1368 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
22.01.2010, 22:50     Слабо создать программу, которая много чего делает, а в main только return 0? #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
переносимого кода не бывает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2010, 22:56     Слабо создать программу, которая много чего делает, а в main только return 0?
Еще ссылки по теме:

Что делает return в функции void? C++
C++ В чём смысл return в main()?
C++ Return возвращает условие. Для чего?
Не понятно что делает __success(return >= 0) C++
C++ Написать программу, которая определяет подлинность подписи. С чего начать?

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

Или воспользуйтесь поиском по форуму:
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 22:56     Слабо создать программу, которая много чего делает, а в main только return 0? #27
Цитата Сообщение от HIMen Посмотреть сообщение
переносимого кода не бывает
уже 1000 раз обсуждалось. ключевые слова для гугла(без кавычек): "sequence point i++"
Цитата Сообщение от HIMen Посмотреть сообщение
int r = (i++)+(i++);
Yandex
Объявления
22.01.2010, 22:56     Слабо создать программу, которая много чего делает, а в main только return 0?
Ответ Создать тему
Опции темы

Текущее время: 02:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru