Size: a a a

Язык программирования Julia / Julia programming language

2017 August 01

A

Alexandr M in Язык программирования Julia / Julia programming language
julia> b = 2
2

julia> Ptr{Void}(b)
Ptr{Void} @0x0000000000000002
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Всё равно не понимаю :)
источник

A

Alexandr M in Язык программирования Julia / Julia programming language
а какой вопрос?
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Какие операции применимы к этому Ptr{Void}?
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Это вообще один из основных вопросов в Julia: есть переменная какого-то очередного, 1 из 100500, типов данных. Хочется понять, что вообще с ней можно делать, кроме как радоваться её наличию. Как это узнать?
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
julia> methods(Ptr{Void})
# 1 method for generic function "(::Type)":
(::Type{T})(arg) where T in Base at sysimg.jl:24
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Получается, можно делать с Ptr{Void} что-то непонятное, а я так смутно представляю, что это вообще указатель для использования в CCALL'ах
источник

A

Alexandr M in Язык программирования Julia / Julia programming language
methodswith() ?
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Во, точно, оно. Спасибо! Судя по выводу methodswith Ptr{Void} - это и правда некий абстрактный указатель (просто  смещение), поскольку к данным, на которые он указывает, можно обращаться вообще как угодно
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
convert(::Type{T}, p::Ptr{Void}) where T<:Union{Cstring, Cwstring} in Base at c.jl:70
источник

A

Alexandr M in Язык программирования Julia / Julia programming language
эта тема для меня тёмный лес) указатели и ccall's..
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Только наверное можно получить SIGSEGV, если "обратиться" за границы реально выделенной области памяти: например, сделали malloc на 16 байт, полезли забирать 32 байта по указателю - получили SEGV
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Что-то никак не удается собрать пакет Nemo
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Пишет все, что папок не хватает, чуднО
источник
2017 August 02

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Кто-нибудь в курсе, есть ли в Julia штатно или удобным модулем вычисления произвольной точности? :)
источник

AB

Alex Bekhtin in Язык программирования Julia / Julia programming language
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Спасибо!
источник
2017 August 03

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Есть ли указатели в Julia на собственноручно объявленные типы?
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
К примеру, есть у меня, условно говоря, какой-нибудь тип Поле по модулю p, Fp. И я хочу завести несколько точек из Fp, чтобы каждая из них "помнила", откуда она взялась. То есть что-то вроде - объект Поле, объекты Точка, в каждой точке есть ссылка на поле, в котором она живет
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Нашёл такое:
type SmartPointer{T}

   pointer::Ptr{T}

   function SmartPointer(p::Ptr{T})
       smart_p = new(p)
       finalizer(smart_p, p -> c_free(p.pointer))

       smart_p
   end
end

Поможет чем-нибудь?
источник