Мне нужно передать ~0L
к моей функции, как не могу сделать это, независимо от того, что я делаю ~ 0 превращаются в -1
Как создать длинное количество всех бит на 1
Это код C :
812 int result = GetProperty(window, property_name,
813 (~0L), // (all of them)
814 &type, &format, &num_items, &properties);
Это мой jsctypes:
var result = GetProperty(window, property_name, ctypes.long(~0), type.address(), format.address(), num_items.address(), properties.address()
Обратите внимание на ctypes.long(~0)
, как сделать это будет 111111111111111111111111111111
для 32-битных слэш 64 1 для 64-битной?
Благодаря
ссылка тема: What does (~0L) mean?
Можете ли вы показать JS-ctypes синтаксис :) – Noitidart
я должен был Google, но это ctypes.unsigned_long (~ 0) выглядит правильно? Обязательно объявляйте соответствующий код на C++ так же, как ожидающий длинный без знака. В C++ ~ 0 (все биты) также представляет собой -1L; независимо от того, рассматривается ли она как -1L или ~ 0UL, зависит от того, как она объявлена. – Andras
О, я думал, что вы парень js-ctypes. Да, я пробовал это, я не уверен, что это правильный способ сделать это.Я не получаю данные, которые могут иметь какое-то отношение к этому. – Noitidart