FFIError - модуль обработки ошибок функций

Здесь обсуждается всё, что касается макросов.
IgorZ
Posts: 793
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

FFIError - модуль обработки ошибок функций

Post by IgorZ »

Latest post of the previous page:

John Doe wrote: Wed 29 Nov, 2017 10:54Например?
Это, скорее, философское замечание. Также как можно ремонтировать электропроводку, не отключая предохранители, заплывать за буйки и кормить с рук хищников в зоопарке.
P. S. В любом из перечисленных случаев неприятных последствий может и не быть. Но если случились - винить некого, кроме себя.
Last edited by IgorZ on Wed 29 Nov, 2017 11:02, edited 2 times in total.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

FFIError - модуль обработки ошибок функций

Post by John Doe »

IgorZ wrote: Wed 29 Nov, 2017 11:00Это, скорее, философское замечание.
Понятно.
А у меня и практическое есть: ANYSIZE_ARRAY
IgorZ
Posts: 793
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

FFIError - модуль обработки ошибок функций

Post by IgorZ »

John Doe wrote: Wed 29 Nov, 2017 11:42
IgorZ wrote: Wed 29 Nov, 2017 11:00Это, скорее, философское замечание.
Понятно.
А у меня и практическое есть: ANYSIZE_ARRAY
Там да, без замены на "?" не обойтись.
Вот не помню, можно ли в современных стандартах Си написать LUID_AND_ATTRIBUTES Privileges[]; для объявления массива переменной длины? Или я путаю с каким-то другим Си-подобным языком?
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

FFIError - модуль обработки ошибок функций

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

FFIError - модуль обработки ошибок функций

Post by John Doe »

IgorZ wrote: Wed 29 Nov, 2017 12:40Там да, без замены на "?" не обойтись.
Почему не обойтись. По ссылке есть пример.
IgorZ
Posts: 793
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

FFIError - модуль обработки ошибок функций

Post by IgorZ »

HaRT wrote: Wed 29 Nov, 2017 13:00
Ага, значит, перепутал. Вспомнить бы ещё, с чем. Впрочем, здесь несущественно.
John Doe wrote: Wed 29 Nov, 2017 14:34
IgorZ wrote: Wed 29 Nov, 2017 12:40Там да, без замены на "?" не обойтись.
Почему не обойтись. По ссылке есть пример.
Этот пример и без ffi.cdef обходится, так что не считается.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

FFIError - модуль обработки ошибок функций

Post by John Doe »

IgorZ wrote: Thu 30 Nov, 2017 12:45Этот пример и без ffi.cdef обходится,
Не понял.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

FFIError - модуль обработки ошибок функций

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

FFIError - модуль обработки ошибок функций

Post by DrKnS »

IgorZ
Posts: 793
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

FFIError - модуль обработки ошибок функций

Post by IgorZ »

John Doe wrote: Thu 30 Nov, 2017 14:10
IgorZ wrote: Thu 30 Nov, 2017 12:45Этот пример и без ffi.cdef обходится,
Не понял.
Ну, я так понял, что
John Doe wrote: Wed 29 Nov, 2017 14:34
IgorZ wrote: Wed 29 Nov, 2017 12:40Там да, без замены на "?" не обойтись.
Почему не обойтись. По ссылке есть пример.
было про
  1. local size = n*ffi.sizeof("LUID_AND_ATTRIBUTES") + ffi.sizeof("DWORD")
  2.  
  3. local struct = ffi.new("char[?]",size)
  4.  
  5. struct = ffi.cast("TOKEN_PRIVILEGES *",struct)
В нём ffi.cdef отсутствует.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

FFIError - модуль обработки ошибок функций

Post by John Doe »

Не отсутствует, а опущено.
Подразумевается использование оригинального определения.

И если в одном скрипте будет так, а в другом иначе, то один из них работать не будет.
IgorZ
Posts: 793
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

FFIError - модуль обработки ошибок функций

Post by IgorZ »

John Doe wrote: Fri 01 Dec, 2017 09:31 Не отсутствует, а опущено.
Подразумевается использование оригинального определения.

И если в одном скрипте будет так, а в другом иначе, то один из них работать не будет.
Был невнимателен. Вопрос закрыт.
Post Reply

Return to “Обсуждение макросов”