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

C++

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

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

22.01.2010, 01:58. Просмотров 2338. Ответов 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++ Написать программу которая делает перестановки введенных симолов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
22.01.2010, 02:07     Слабо создать программу, которая много чего делает, а в main только return 0? #2
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Я знаю, как это сделать. Но знает ли кто-либо еще?
Представь себе..
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
22.01.2010, 02:08  [ТС]     Слабо создать программу, которая много чего делает, а в main только return 0? #3
>> ISergey

Так знаешь или нет? (не пиши решение, пусть другие тож подумают...)
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
22.01.2010, 02:09     Слабо создать программу, которая много чего делает, а в main только return 0? #4
:)
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
__attribute__ ((constructor))
static void fnc(void)
{
    printf("I can do it ;)\n");
}
 
int main(void)
{
    return 0;
}
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
22.01.2010, 02:12  [ТС]     Слабо создать программу, которая много чего делает, а в main только return 0? #5
>> Gravity

А решение оригинальное. У меня немного другое, и, на мой взгляд, более простое.
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
22.01.2010, 02:13     Слабо создать программу, которая много чего делает, а в main только return 0? #6
OVERPOWER8, ну ладно, убрал под cut
inter
9701 / 2456 / 47
Регистрация: 06.03.2009
Сообщений: 8,503
22.01.2010, 02:15     Слабо создать программу, которая много чего делает, а в main только return 0? #7
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Ну зачем решение-то писать?

Не по теме:

я вам загадку загадаю, кто знает не говорите.




Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
У меня немного другое, и, на мой взгляд, более простое.
Может вам просто в разделе Обо всем создать свой фан клуб?
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
22.01.2010, 02:22  [ТС]     Слабо создать программу, которая много чего делает, а в main только return 0? #8
Ну что? Есть какие-то мысли (это не относится к Gravity).
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
22.01.2010, 02:48     Слабо создать программу, которая много чего делает, а в main только return 0? #9
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Ну что? Есть какие-то мысли
а мыслей то надо..
...
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
class Employee{
public:
    Employee() { std::cout << "Hello\n"; }
} emp;
 
int main(){
    return 0;
}
http://codepad.org/XO4Q7MwB
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
22.01.2010, 03:08  [ТС]     Слабо создать программу, которая много чего делает, а в main только return 0? #10
>> ISergey

Мое решение идентично с вашим. А вот предложенное товарищем Gravity - круче!
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.01.2010, 06:29     Слабо создать программу, которая много чего делает, а в main только return 0? #11
Куда копать эту задачу
Надо подменить точку входа. То есть воткунуть стартовый адрес на другую функцию. Все эти конструкторы статических объектов, статик-функции - всё это из этой серии. В том же направлении можно найти и чтото ещё.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 11:17     Слабо создать программу, которая много чего делает, а в main только return 0? #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Я знаю, как это сделать. Но знает ли кто-либо еще?
я не знаю. какой в этом смысл?
***
кстати, а вы знаете, что операция сложения ассоциативна?
т.е. (а + б) + ц = а + (б + ц)
***
а вы знаете, что воробей не умеет ходить? он умеет только прыгать!
***
!!! записывайтесь в мой фан-клуб.
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
22.01.2010, 11:28     Слабо создать программу, которая много чего делает, а в main только return 0? #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Слабо создать программу, которая много чего делает, а в main только return 0?
Я знаю, как это сделать. Но знает ли кто-либо еще?


Выдержки из дневника юного программиста:

Сегодня читал книжку "Освой C++ за 1 час". В самом конце прочитал про глобальные объекты. Они оказывается еще и не-POD могут быть. Ну ващще крутизна. Интересно, знает ли об этом еще кто-нибудь кроме меня?
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
22.01.2010, 12:03     Слабо создать программу, которая много чего делает, а в main только return 0? #14
я тут подумал, OVERPOWER8 ты перепутал личный блог с форумом.
заведи его себе и пиши в нём, какой ты умный
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.01.2010, 12:08     Слабо создать программу, которая много чего делает, а в main только return 0? #15
А по-моему, он предложил размяться.
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
22.01.2010, 12:17  [ТС]     Слабо создать программу, которая много чего делает, а в main только return 0? #16
>> taras atavin

Соврешенно верно. Я предложил размяться. А кому не интересно, попросил бы проигнорировать эту тему.
Evg
Эксперт CАвтор FAQ
17409 / 5647 / 354
Регистрация: 30.03.2009
Сообщений: 15,454
Записей в блоге: 26
22.01.2010, 12:30     Слабо создать программу, которая много чего делает, а в main только return 0? #17
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Мое решение идентично с вашим. А вот предложенное товарищем Gravity - круче!
Предложение Gravity - это gnu-расширение, т.е. код, который, грубо говоря, кроме как на gcc работать не будет. Единственный ПЕРЕНОСИМЫЙ вариант - тот, который написал ISergey. Всё остальное - это зависит либо от компилятора, либо от ОС, либо от используемой библиотеки и т.д.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.01.2010, 12:34     Слабо создать программу, которая много чего делает, а в main только return 0? #18
Единственный? Я так не думаю. Разве нельзя покопаться в готовом исполняемом коде и подменить стартовый адрес в заголовке файла?
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
22.01.2010, 12:45  [ТС]     Слабо создать программу, которая много чего делает, а в main только return 0? #19
>> Evg

Предложение Gravity - это gnu-расширение, т.е. код, который, грубо говоря, кроме как на gcc работать не будет.
А вот и не правда! У меня на G++ он идеально заработал!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2010, 12:46     Слабо создать программу, которая много чего делает, а в main только return 0?
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
22.01.2010, 12:46     Слабо создать программу, которая много чего делает, а в main только return 0? #20
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
А вот и не правда! У меня на G++ он идеально заработал!
g++ это и есть команда GNU-компилятора.
Yandex
Объявления
22.01.2010, 12:46     Слабо создать программу, которая много чего делает, а в main только return 0?
Ответ Создать тему
Опции темы

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