Size: a a a

IT KPI C/С++ ХВ (хорошо, что не UB)

2020 March 05

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
😂ну я тут это хотел сказать
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
Лень
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
но в маршрутке писать лениво
источник

RM

Roma Myronenko in IT KPI C/С++ ХВ (хорошо, что не UB)
GNU/Vsevolod.rs
Обьяви статический поинтер, и юзай в других файлах через extern:)
а в том же файле не выйдет?
источник

RM

Roma Myronenko in IT KPI C/С++ ХВ (хорошо, что не UB)
сейчас попробую)
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Roma Myronenko
а в том же файле не выйдет?
Можно, но кода же много выйдет в 1 месте
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Так а завезли наконец модули в с++?
источник

A

András in IT KPI C/С++ ХВ (хорошо, что не UB)
GNU/Vsevolod.rs
А в чем проблема писать аллокатор, который на выделенном куске работает?
Ти писав алокатор, який працює на виділеному клаптику?
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
András
Ти писав алокатор, який працює на виділеному клаптику?
yes
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Ты же просто можешь потом скомпилить с флагами -shared -fpic и получить либу со своим аллокатором
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Но зачем
источник

RM

Roma Myronenko in IT KPI C/С++ ХВ (хорошо, что не UB)
GNU/Vsevolod.rs
Обьяви статический поинтер, и юзай в других файлах через extern:)
я правильно понял?
просто обьявляю static void* ptr;

и потом внутри функции пишу
extern void* ptr = malloc(SIZE);
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Roma Myronenko
я правильно понял?
просто обьявляю static void* ptr;

и потом внутри функции пишу
extern void* ptr = malloc(SIZE);
// main.c:
static void* ptr;

int main() {
 ptr = (void*)malloc(POOL_SIZE);
 // ...
 free(ptr);
}

// allocator.c:
extern void* ptr;

void* malloc(size_t n) {
 // do smth with ptr
}
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
extern нужен для того, если у тебя есть где то обьявленные символы, но ты не подключил их через препроцессор.
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Тоесть если есть initialization, но нету declaration
источник

k

kvark in IT KPI C/С++ ХВ (хорошо, что не UB)
потому что эта функция должна выполнится в рантайме, в ты пытаешься выполнить ее в компайл тайме. можешь создать глобальную переменную, а потом на начале мейн сделать
ptr = block(...)
источник

RM

Roma Myronenko in IT KPI C/С++ ХВ (хорошо, что не UB)
о, так работает, если в мейне в ptr записывать, спасибо)
источник

k

kvark in IT KPI C/С++ ХВ (хорошо, что не UB)
Всё равно хуйня)
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
kvark
Всё равно хуйня)
источник