Название функции в run time

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-26 17:30:25

Куча разных программ используют консоль/окно отладки/и пр. Очнь часто встречается отладочная инфа вида:

Код: Выделить всё

folder/file.cpp(84): error
Это ручками делается или у компилятора можно спросить какая функция сейчас исполняется (номер строки в файле), чтобы во время выполнения уже скомпилированной программы увидеть написанное выше
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Название функции в run time

Непрочитанное сообщение paradox » 2009-05-26 17:33:17

__file__
__line__
итд

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Re: Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-26 18:11:51

А на все подобные конструкции ман есть?
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Название функции в run time

Непрочитанное сообщение paradox » 2009-05-26 18:13:47

угу
в каждой книге по программированию написано

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Re: Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-26 18:34:14

В своё время только по Си книг купил штуки 4. Раздал под обещание вернуть - ни одну не вернули.
Пролистал _все_ от корки до корки. Ничего подобного не видел.
В интернет-man'ах то же самое.

И ещё вопрос: __line__ возвращает строку. Учитывается ли добавленные #include файлы? Учитываются ли инструкции #ifdef. Т.к. если нет, то цена __line__ на ломаный грош не тянет.

Да, и ещё: __proc__ либо __func_ есть? Т.е. какая функция на данный момент отрабатывает?
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Название функции в run time

Непрочитанное сообщение paradox » 2009-05-26 18:38:23

плохие книги наверное были
я в свое жизни токо пару книг осилил прочитать по си/с++

__line__
это строка отначала файла
тоесть если
дебаг __line__ показал при выволнении файла 123
и если сделать vi +123 file.cpp
То это будет та строка где стоит __line__

зы
все таки найди хорошие книги и почитай

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Re: Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-26 18:42:01

2paradox
Дык я не против почитать. Посоветуй автора/название. Лучше если в инете. Нет, пусть будут печатные - не имеет значения.
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Re: Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-26 18:44:11

2paradox
Не в обиду: в автоподписи поставь запятую после freebsd :)
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Название функции в run time

Непрочитанное сообщение paradox » 2009-05-26 18:54:04

могу испраивить)
хотя там врядли кто ее читает

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Название функции в run time

Непрочитанное сообщение paradox » 2009-05-26 19:00:01

я программироваие учил когда у меня компютера еще небыло
соответсвенно все читал в книжных вариантах
поэтоу врядли чтото посоветую в електронном

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Название функции в run time

Непрочитанное сообщение Fastman » 2009-05-26 23:24:04

de-signer писал(а):2paradox
Дык я не против почитать. Посоветуй автора/название. Лучше если в инете. Нет, пусть будут печатные - не имеет значения.
Нету одной книги..или скажем, двух-трех, в которых было бы все...
По ходу разбирательств сначала читаешь основы простые.. потом когда языковые конструкции вроде усвоил(а хрена там !!!!!) и надо писать что то а не хэлло-ворды плодить, достаешь книжки по теории алгоритмов.
После этого загораешься и начинаешь искать сахар(фреймворки итд)... потом делаешь мегамонстров которые валятся непонятно где... Думаешь... опять берешь книжки по основам... вдумчива читаешь... не понимаешь кой чего... лезешь читать как устроены компиляторы и что такое ассемблер....
Потом тебя озаряет - и начинаешь писать свой фреймворк... после того как наплодил костылей и запутался - понимаешь что повторяешь то что еже есть.
Плюешь.. делаешь кучку стандартных инструментов и живешь счастливо и долго периодически дописывая их :)

Так и будет как я описал. Поверь :))
Я некоторые моменты в своей жизни пропустил..потому что как говорит парадокс - начинал с того что столбиком переводил из одной системы исчисления в другую :)
Главное в жизни здоровье и любовь, остальное я все куплю.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Название функции в run time

Непрочитанное сообщение paradox » 2009-05-26 23:27:21

Да, и ещё: __proc__ либо __func_ есть? Т.е. какая функция на данный момент отрабатывает?
__func__
есть
текущая функция
еще
дата и время есть
но я их непомоню поскольку не юзаю
думаю что то типа __date__, __time__

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Название функции в run time

Непрочитанное сообщение Fastman » 2009-05-27 0:01:11

de-signer писал(а):В своё время только по Си книг купил штуки 4. Раздал под обещание вернуть - ни одну не вернули.
Пролистал _все_ от корки до корки. Ничего подобного не видел.
В интернет-man'ах то же самое.

И ещё вопрос: __line__ возвращает строку. Учитывается ли добавленные #include файлы? Учитываются ли инструкции #ifdef. Т.к. если нет, то цена __line__ на ломаный грош не тянет.

Да, и ещё: __proc__ либо __func_ есть? Т.е. какая функция на данный момент отрабатывает?
http://www.cppreference.com/wiki/prepro ... essor_vars
http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html
Главное в жизни здоровье и любовь, остальное я все куплю.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Название функции в run time

Непрочитанное сообщение zg » 2009-05-27 7:31:50

Код: Выделить всё

zg# cat 1.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int myError(char *, int , char *);

int main(void)
{
  fopen("::", "r") || myError((char *) __FUNCTION__, __LINE__, __FILE__);
}

int myError(char * funct, int line, char * file)
{
  char buff[255];

  snprintf(buff, sizeof(buff), "%s:%s:%i", file, funct, line);
  perror(buff);

  return 0;
}
zg# cc 1.c -o 1.bin && ./1.bin
1.c:main:9: No such file or directory
zg#
:crazy:

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Re: Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-27 11:25:27

2Fastman
Было уже всё. Ровно по тому сценарию, который ты описал. Только про ассемблер раньше узнал ещё на Z80.
И столбиком тоже переводил :smile: Сейчас калькулятор под рукой. Купил лет 10 назад. Ничего в нём такого навороченного нет, но знает двоичную, восьмеричную, десятичную и шестнадцатиричную. Вот после покупки про столбики забыл :smile:
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

Re: Название функции в run time

Непрочитанное сообщение de-signer » 2009-05-27 11:40:21

2zg
А в компилере случаем нет опции вроде "full evaluate boolean expression"? Честно говоря я к ней привык. Спасибо, что предупредил.
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Название функции в run time

Непрочитанное сообщение zg » 2009-05-27 12:25:51

de-signer писал(а):А в компилере случаем нет опции вроде "full evaluate boolean expression"?
а хрен его знает :crazy: я на Си не пишу :pardon:
Но лучше так не делать, как я написал -)) лучше использовать if, просто я для примера привёл :smile: