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

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

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


Я знаю, как это сделать. Но знает ли кто-либо еще?
http://www.cyberforum.ru/cpp-beginners/thread1873390.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2010, 01:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Слабо создать программу, которая много чего делает, а в main только return 0? (C++):

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

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

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

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

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

26
zim22
depict1
276 / 141 / 4
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 12:48 #21
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
А вот и не правда! У меня на G++ он идеально заработал!
мда... GCC содержит в себе G++
0
taras atavin
4204 / 1763 / 212
Регистрация: 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
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,437
Записей в блоге: 30
22.01.2010, 13:13 #23
Цитата Сообщение от taras atavin Посмотреть сообщение
Единственный? Я так не думаю. Разве нельзя покопаться в готовом исполняемом коде и подменить стартовый адрес в заголовке файла?
А ещё можно перепрошить биос и чтобы он сразу при запуске программы hello world печатал. Можно пойти ещё дальше и внести изменения прямо в процессор, чтобы наверняка работало

OVERPOWER8, gcc и g++ это по большому счёту одно и то же, называемое общим словом "GNU-комилятор"
2
ISergey
Maniac
Эксперт С++
1408 / 919 / 148
Регистрация: 02.01.2009
Сообщений: 2,745
Записей в блоге: 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
4250 / 1417 / 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
Привет! Вот еще темы с решениями:

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

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

Что делает Return в плюсах?
Судя по прочитанной литературе по с++ return что-то возвращает в вызывающую...

Не понятно что делает __success(return >= 0)
Увидел определение HRESULT typedef __success(return &gt;= 0) long HRESULT; не...


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

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

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