LINUX.ORG.RU

История изменений

Исправление Architector, (текущая версия) :

@i-rinat спасибо, всё понял

@pon4ik хорошо, тогда вопрос в контексте Linux

@xaizek в каждой функции после вызова вложенной может быть еще некоторый код, который будет выполняться при возврате из вложенной. Даже если выполнять проверку выхода вложенной функции и, если функция вернула определённое значение, выходить сразу и из этой функции - всё равно пройдёт некоторое время. Не то, чтобы мне важна пара лишних тактов процессора, просто интересно, можно ли так. Кстати да, что-то про исключения совсем забыл.

@DllMain штука интересная, но вот фраза «transferring execution from one function to a predetermined location in another function» всё портит, ведь функция main() идет самой последней в коде на C/C++. Или я чего-то путаю? При попытках запустить из main() функцию, написанную после неё, кидает ошибку, мол функция не определена.

Или можно как-нибудь объявить функцию до main(), реализовать после и потом уже получиться прыгнуть в main?


Просто помню какое-то обсуждение людей по этому поводу, там они сошлись на каком-то решении, но вот помню только факт, что и как забыл, а вот сейчас интересно стало. И вот не могу найти его.

Исправление Architector, :

@i-rinat спасибо, всё понял

@pon4ik хорошо, тогда вопрос в контексте Linux

@xaizek в каждой функции после вызова вложенной может быть еще некоторый код, который будет выполняться при возврате из вложенной. Даже если выполнять проверку выхода вложенной функции и, если функция вернула определённое значение, выходить сразу и из этой функции - всё равно пройдёт некоторое время. Не то, чтобы мне важна пара лишних тактов процессора, просто интересно, можно ли так. Кстати да, что-то про исключения совсем забыл.

@xaizek штука интересная, но вот фраза «transferring execution from one function to a predetermined location in another function» всё портит, ведь функция main() идет самой последней в коде на C/C++. Или я чего-то путаю? При попытках запустить из main() функцию, написанную после неё, кидает ошибку, мол функция не определена.

Или можно как-нибудь объявить функцию до main(), реализовать после и потом уже получиться прыгнуть в main?


Просто помню какое-то обсуждение людей по этому поводу, там они сошлись на каком-то решении, но вот помню только факт, что и как забыл, а вот сейчас интересно стало. И вот не могу найти его.

Исходная версия Architector, :

@i-rinat спасибо, всё понял

@pon4ik хорошо, тогда вопрос в контексте Linux

@xaizek в каждой функции после вызова вложенной может быть еще некоторый код, который будет выполняться при возврате из вложенной. Даже если выполнять проверку выхода вложенной функции и, если функция вернула определённое значение, выходить сразу и из этой функции - всё равно пройдёт некоторое время. Не то, чтобы мне важна пара лишних тактов процессора, просто интересно, можно ли так. Кстати да, что-то про исключения совсем забыл.

@xaizek штука интересная, но вот фраза «transferring execution from one function to a predetermined location in another function» всё портит, ведь функция main() идет самой последней в коде на C/C++. Или я чего-то путаю? При попытках запустить из main() функцию, написанную после неё, кидает ошибку, мол функция не определена.

Или можно как-нибудь объявить функцию до main(), реализовать после и потом уже получиться прыгнуть в main?

Просто помню какое-то обсуждение людей по этому поводу, там они сошлись на каком-то решении, но вот помню только факт, что и как забыл, а вот сейчас интересно стало. И вот не могу найти его.