Size: a a a

2021 March 21

VR

Vadim Ryzhkov in ru.nim.talks
Kitsune Digital
правда либу в таком случае придётся действительно динамически линковать, через dlload() и оналоги
То есть порядок действий такой
в макросе в константу записать бинарные данные длл, потом до их инклюда вытащить и записать рядом с программой, а потом loadLib?
источник

KD

Kitsune Digital in ru.nim.talks
эээ нет
источник

KD

Kitsune Digital in ru.nim.talks
бинарник не должен быть собран с импортом либы вообще
источник

KD

Kitsune Digital in ru.nim.talks
он должен либу осознанно через системный вызов импорторовать
источник

KD

Kitsune Digital in ru.nim.talks
почитай как работать с загружаемыми модулями-библиотеками
источник

KD

Kitsune Digital in ru.nim.talks
тебе именно это придётся делать
источник

KD

Kitsune Digital in ru.nim.talks
ну либо не страдать хуйнёй а взять статическую либу
источник

KD

Kitsune Digital in ru.nim.talks
шо за пиздострадания, янипайму
источник

KD

Kitsune Digital in ru.nim.talks
Vadim Ryzhkov
Ладно, я тут гуглил, разбирался с проблемой
понял что dll должна быть только отдельно

Поэтому перефразирую вопрос. Можно ли как-то собрать проект, чтобы в него включилась sqlite3.lib?

я положил в папку lib этот файл, но линкер выдает ошибку sqlite3.lib: file not recognized: File format not recognized
гадать на кофейной гуще не стану, а все телепаты — в отпуске
источник

AR

And Rey in ru.nim.talks
Kitsune Digital
шо за пиздострадания, янипайму
Эм, кицуня, ты же девушка
источник

KD

Kitsune Digital in ru.nim.talks
так что полный лог, иерархию каталогов и все произведенные действия, пошагово
источник

KD

Kitsune Digital in ru.nim.talks
And Rey
Эм, кицуня, ты же девушка
источник

KD

Kitsune Digital in ru.nim.talks
>интернет
>девушка
источник

AR

And Rey in ru.nim.talks
Kitsune Digital
>интернет
>девушка
источник

g

gavr in ru.nim.talks
Есть ли способ заставить ним делать варнинги на всех анхендлед эксепшонах?
источник

g

gavr in ru.nim.talks
блин, гугл ваще ниче не выдал, походу никак
источник

VB

Vladimir Berezenko in ru.nim.talks
Толкни идею Araq
источник

g

gavr in ru.nim.talks
кек, а то мне это в vala прям зашло, ведь в компайлтайме однозначно известно кто кидает ексепшоны, че бы нее варнить если их не хендлят
источник

f

for(int c; (c = getc... in ru.nim.talks
gavr
Есть ли способ заставить ним делать варнинги на всех анхендлед эксепшонах?
можно обернуть в .raises[] и там сразу набежит толпа ошибок которые будут больно пинаться
источник

f

for(int c; (c = getc... in ru.nim.talks
for(int c; (c = getchar()) != EOF;)
Короче бешеный кривой костыль, но можно сделать вот так

import result, std/[macros, effecttraits, strutils]

type
 Exc* = ref object of CatchableError
   tmp: int

proc raisesSomething(): int =
 let tmp = Exc()
 raise tmp

macro asResultImpl(expr: typed): untyped =
 let
   ex = ident getRaisesList(expr)[0].strVal().split(":")[0]
   call = newCall expr

 result = quote do:
   var res: Result[typeof(`call`), `ex`]
   try:
     res.ok `call`
   except:
     res.err `ex`(getCurrentException())

   res


template asResult(body: typed): untyped =
 proc tmp(): auto = body
 asResultImpl(tmp)


let res = asResult:
 let a = raisesSomething()
 a

echo typeof(res)
или написать что-то подобное для получения всех исключений для куска кода и потом уже самому
источник