реклама на сайте
подробности

 
 
> Вопрос на миллион (GCC)
antiwin
сообщение Jul 2 2009, 07:15
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 20-05-09
Пользователь №: 49 303



Привет всем, такой вот проблем: как можно узнать адрес в ОЗУ выше которого стек не "перерастет"? Это нужно сделать на этапе компиляции.
И еще, можно ли в теле функции узнать тип возвращаемого значения т.е допустим определена функция void *foo(...), далее где то вызывается int *ptr=foo(...), как в теле foo узнать что это указатель на int?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aesok
сообщение Jul 2 2009, 07:20
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(antiwin @ Jul 2 2009, 11:15) *
Привет всем, такой вот проблем: как можно узнать адрес в ОЗУ выше которого стек не "перерастет"? Это нужно сделать на этапе компиляции.


Нет. Это можно только узнать после соборки поэкта. Проанализировав дерево вызовов функций и размеры их фрейм буферов.

Цитата(antiwin @ Jul 2 2009, 11:15) *
И еще, можно ли в теле функции узнать тип возвращаемого значения т.е допустим определена функция void *foo(...), далее где то вызывается int *ptr=foo(...), как в теле foo узнать что это указатель на int?


Никак нельзя.

Анатолий.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 19:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01635 секунд с 7
ELECTRONIX ©2004-2016