Итак, как вызов, так и для производительности, я пишу простой сервер в сборке. Единственный способ, которым я знаю, - это системные вызовы. (через int 0x80) Очевидно, мне понадобится больше памяти, чем выделено при сборке или при загрузке, поэтому я прочитал и решил, что хочу использовать sbrk(), главным образом потому, что я не понимаю mmap(): pLinux sbrk() как syscall в сборке
Во всяком случае, Linux не обеспечивает прерывания для sbrk(), только brk().
Итак ... как найти текущий разрыв программы для использования brk()? Я думал об использовании getrlimit(), но я не знаю, как получить ресурс (идентификатор процесса, который я предполагаю), чтобы перейти к getrlimit(). Или мне нужно найти другой способ реализации sbrk()?
Добро пожаловать в переполнение стека! «Единственный способ, которым я знаю, - это системные вызовы». Также есть вызовы библиотеки, такие как 'sbrk'. Или вы имеете в виду «в сборке без libc»? –
Я не знал, как делать вызовы в библиотеке. (и по-прежнему не знаете, как), по вашему мнению, вызовы библиотеки быстрее, чем системные вызовы? –
'mmap' прост. Однако это не хорошо для небольших ассигнований. – doug65536