С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler: Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12

Системные вызовы и brk vs sbrk в частности

10.02.2017, 02:04. Показов 6671. Ответов 24

Студворк — интернет-сервис помощи студентам
Изучаю программинг под Linux, в частности системные вызовы
Многочасовые поиски нормального справочника по системным вызовам завершились, по сути, тремя ссылками:
http://linuxdoc.ru/sys-doc.html
http://www.digilife.be/quickre... erence.pdf
http://syscalls.kernelgrok.com/
Всё остальное - примерно то же самое, только с разным дизайном. Ну или учебник какой-нибудь о Unix в целом (хоть и на русском).

Так вот, на практике придётся использовать все 3 справочника...
1. В первом находить нужную функцию и читать её описание (неплохо, что там всё по-русски).
2. Во втором находить номер функции по названию.
3. Третий использовать, когда информации из 1-го недостаточно (там расписано подробнее и кол-во функций значительно больше... и даже исходники есть).

У кого есть, киньте, плиз, ссылкой на удобный, полный, структурированный справочник, в котором будут указаны (важно!) номера функций и значения констант (типа EBADF и т.д.). Что дескриптор стандартного ввода = 0, а вывода = 1 я уже понял, но сдаётся мне, есть там ещё куча подобных штук, искать которые опять же придётся в example'ах на просторах всея интернета, что не очень удобно... А если там ещё и примеры использования будут, то будет вообще супер (хотя не критично).

В частности, вот такой вопрос у меня возник: brk и sbrk вроде разные функции. А номер функции (eax) как будто один и тот же... Как это может быть? В чём подвох? Или система по значению передаваемого параметра определяет (типа > 0x8000000, значит brk, иначе sbrk)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2017, 02:04
Ответы с готовыми решениями:

Системные вызовы. Получение заголовка консольного окна
Всем доброй ночи! Скоро сессия у тут, наверное очень много постов с просьбой студентов помочь сделать ту или иную лабу. И я вот как...

Brk, sbrk и прочие системные вызовы
Привет! Изучаю программинг под Linux, в частности системные вызовы :) Многочасовые поиски нормального справочника по системным вызовам...

Qt и системные вызовы
Здравствуйте. Задался таким вопросом - можно ли в Qt производить вызов системных вызовов Linux? Можно ли там подключать Си-шные...

24
Заблокирован
10.02.2017, 02:07
Цитата Сообщение от Jin X Посмотреть сообщение
brk и sbrk вроде разные функции. А номер функции (eax) как будто один и тот же... Как это может быть? В чём подвох?
sbrk это библиотечная функция построенная на базе brk.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 02:16  [ТС]
nimazzzy, ну ок, как же мне её вызвать из ассемблера-то?
Мне надо скачать glibc, скомпилить и присоединить к моему .o файл sbrk.o? Или как вообще?

Добавлено через 1 минуту
У меня уже башка пухнет от этих заморочек, жесть какая-то...!
0
Заблокирован
10.02.2017, 02:42
Цитата Сообщение от Jin X Посмотреть сообщение
ну ок, как же мне её вызвать из ассемблера-то?
Как и любую другую библиотечную функцию, по имени + линковка.

Добавлено через 5 минут
Цитата Сообщение от Jin X Посмотреть сообщение
Мне надо скачать glibc, скомпилить и присоединить к моему .o файл sbrk.o? Или как вообще?
Зачем? libc на системе стоит. Динамическая линковка есть.

Добавлено через 13 минут
Цитата Сообщение от Jin X Посмотреть сообщение
У меня уже башка пухнет от этих заморочек, жесть какая-то
Почему жесть-то? Так везде, на любой системе работает. Хочешь библиотечную функцию - зовешь по имени, линкуешься с библиотекой. Не хочется - пожалуйста, системные вызовы через syscall. По-другому как бы никак нигде

Добавлено через 2 минуты
Бессмысленный код, вызывающий sbrk:
Assembler
1
2
3
4
5
6
7
8
9
extern sbrk
 
section .text
global main
main:
mov rdi, 100
call sbrk
 
ret
До жести, имхо, тут далековато.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 11:39  [ТС]
nimazzzy, спасибо, всё начинает проясняться...

Цитата Сообщение от nimazzzy Посмотреть сообщение
Почему жесть-то?
Потому что я всё делаю в Windows (в т.ч. компиляцию), а Ubuntu стоит на виртуалке только для запуска. Т.к. он для меня пока как тёмный лес (установил его дня 3 назад только). И вообще я впервые с этим всем сталкиваюсь
Т.е. если я буду производить компиляцию в Linux'е, то там всё автоматом прилинкуется? Или нужно находить где-то sbrk.o и его прилинковывать ld'ом?

Цитата Сообщение от nimazzzy Посмотреть сообщение
mov rdi, 100
А почему rdi, если это обычная функция? Или туда параметры передаются только в формате ebx, ecx, edx... / rdi, rsi, rdx... а не через push (я пока с 32 битами работаю)?
После выделения памяти, освобождать её нужно перед выходом или нет?

Кстати, где-то мельком прочитал, что в Debian (Ubuntu, значит, тоже) вызывать int 0x80 (или syscall) можно не только передав параметры через регистры, но и передав их через стек (cdecl). Если это так, как же система определяет какой именно способ я использовал?

Цитата Сообщение от nimazzzy Посмотреть сообщение
global main
Под винду при таком названим функции (main) компиляция не создавала точку входа, только _start или явно указывать через -e main. Или в линуксе можно использовать main (без указания -e)?

Добавлено через 22 минуты
nimazzzy, у нас, видимо, какие-то разные ассемблеры (в Ubuntu). Во-первых, as использует AT&T-синтаксис, во-вторых, .globl вместо global и .extern вместо extern...
И когда я линкую всё это дело, он пишет, что функции sbrk нет (undefined reference). Где её искать-то?
0
Заблокирован
10.02.2017, 11:44
Цитата Сообщение от Jin X Посмотреть сообщение
Т.е. если я буду производить компиляцию в Linux'е, то там всё автоматом прилинкуется? Или нужно находить где-то sbrk.o и его прилинковывать ld'ом?
Удобнее и проще после компиляции ассемблером, слинковаться gcc. Он автоматически с libc слинкует. Когда использую сишный рантайм, то примерно так компилируюсь:
Bash
1
2
$ nasm -felf64 main.s
$ gcc main.o
Цитата Сообщение от Jin X Посмотреть сообщение
А почему rdi, если это обычная функция? Или туда параметры передаются только в формате ebx, ecx, edx... / rdi, rsi, rdx... а не через push (я пока с 32 битами работаю)?
У меня просто x64 для 32, конечно, через стек.
Цитата Сообщение от Jin X Посмотреть сообщение
Кстати, где-то мельком прочитал, что в Debian (Ubuntu, значит, тоже) вызывать int 0x80 (или syscall) можно не только передав параметры через регистры, но и передав их через стек (cdecl).
Ни разу не слышал про передачу через стек, только регистры всегда использовал.
Цитата Сообщение от Jin X Посмотреть сообщение
Под винду при таком названим функции (main) компиляция не создавала точку входа, только _start или явно указывать через -e main. Или в линуксе можно использовать main (без указания -e)?
Тут дело в том, что как только ты начинаешь линковаться с рантаймом Си, то про _start желательно забыть, так как, все равно самым первым должен теперь будет вызваться сишный рантайм, который инициализирует все, что там ему надо, а потом уже он сам вызовет main.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 11:47  [ТС]
И ещё... как прикрутить к исходнику на асме h-файл? Вроде можно. Особенно учитывая, что, как я понял, путь к тому же unistd.h разный везде.
0
Заблокирован
10.02.2017, 11:58
Цитата Сообщение от Jin X Посмотреть сообщение
И ещё... как прикрутить к исходнику на асме h-файл?
.h файл это совершенно другой язык - С. Ассемблер его просто не поймет.
Цитата Сообщение от Jin X Посмотреть сообщение
Особенно учитывая, что, как я понял, путь к тому же unistd.h разный везде.
А зачем к нему писать путь? Люди, пишущие код на С, просто пишут #include <unistd.h> и файл находится по стандартному пути.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 12:15  [ТС]
Цитата Сообщение от nimazzzy Посмотреть сообщение
У меня просто x64 для 32, конечно, через стек.
Всё равно не понял. Там другие соглашения, чем в Windows? Не rcx, rdx первые параметры?

Цитата Сообщение от nimazzzy Посмотреть сообщение
Тут дело в том, что как только ты начинаешь линковаться с рантаймом Си, то про _start желательно забыть, так как, все равно самым первым должен теперь будет вызваться сишный рантайм, который инициализирует все, что там ему надо, а потом уже он сам вызовет main.
Так, прикол в том, что мне Сишный рантайм не нужен вообще никак

Цитата Сообщение от nimazzzy Посмотреть сообщение
Удобнее и проще после компиляции ассемблером, слинковаться gcc
А если всё-таки через as, ld слинковать? Я в системе файла sbrk.o не нашёл...

Добавлено через 1 минуту
Цитата Сообщение от nimazzzy Посмотреть сообщение
.h файл это совершенно другой язык - С. Ассемблер его просто не поймет.
Некто говорил, что as использует сишный препроцессор и можно подключать .h к асмовским исходникам.
0
Заблокирован
10.02.2017, 12:17
Цитата Сообщение от Jin X Посмотреть сообщение
Там другие соглашения, чем в Windows? Не rcx, rdx первые параметры?
Разумеется, другие rdi, rsi, rdx, и так далее.
Цитата Сообщение от Jin X Посмотреть сообщение
Так, прикол в том, что мне Сишный рантайм не нужен вообще никак
Так не сипользуй sbrk, вот и все!
Цитата Сообщение от Jin X Посмотреть сообщение
ld слинковать? Я в системе файла sbrk.o не нашёл...
Это libc.

Добавлено через 1 минуту
Цитата Сообщение от Jin X Посмотреть сообщение
Некто говорил, что as использует сишный препроцессор и можно подключать .h к асмовским исходникам.
Может быть и так. Я не пользуюсь этой функциональностью, не вижу в ней необходимости. И ассемблирую nasm'ом.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 12:19  [ТС]
Если не подключать .h, тогда непонятно откуда брать константы (номера функций, коды ошибок и т.д.). В том же NASM'е никаких inc'ов не идёт в комплекте. В MinGW тоже... В самом линуксе (gas), правда, не знаю...

Добавлено через 1 минуту
Цитата Сообщение от nimazzzy Посмотреть сообщение
Так не сипользуй sbrk, вот и все!
А если надо? Я хочу научиться это делать...

Цитата Сообщение от nimazzzy Посмотреть сообщение
Это libc.
Цитата Сообщение от nimazzzy Посмотреть сообщение
Зачем? libc на системе стоит. Динамическая линковка есть.
Не понимаю. Если он стоит, значит sbrk.o (на край sbrk.c) должен же быть...
0
Заблокирован
10.02.2017, 12:31
Цитата Сообщение от Jin X Посмотреть сообщение
Если не подключать .h, тогда непонятно откуда брать константы
Из header-файлов ручками, или какой-либо документации.

Добавлено через 1 минуту
Цитата Сообщение от Jin X Посмотреть сообщение
А если надо? Я хочу научиться это делать...
Если надо - то нужен сишный рантайм. Если не нужен сишный рантайм, то пиши без вызовов к нему. Не понимаю

Добавлено через 1 минуту
Цитата Сообщение от Jin X Посмотреть сообщение
Не понимаю. Если он стоит, значит sbrk.o (на край sbrk.c) должен же быть...
Да почему? .o это объектный файл. Как ты связал .so файл с .o? Их при сборке может быть тысяча, а потом они линкуются в одну библиотеку, или исполняемый файл. Ровно как и на винде. Там нет объектников (если не считать статических либ), там dll и exe, которые были собраны из объектников.

Добавлено через 6 минут
Цитата Сообщение от Jin X Посмотреть сообщение
ld слинковать?
Слинкуй:
Bash
1
ld main.o -lc -e main -dynamic-linker /lib/ld-linux.so.2
Одна фигня:
Bash
1
2
3
        linux-vdso.so.1 =>  (0x00007ffeefdc1000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f0cfa16f000)
        /lib/ld-linux.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f0cfa55f000)
Ты слинкован с сишной либой. Что, в принципе, верно. Ты же используешь ее функции.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 12:55  [ТС]
Цитата Сообщение от nimazzzy Посмотреть сообщение
Ни разу не слышал про передачу через стек, только регистры всегда использовал.
http://int80h.org/bsdasm/#system-calls
0
Заблокирован
10.02.2017, 13:50
Jin X, спасибо, но я предпочитаю традиционный секс вызов функций ядра
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 13:54  [ТС]
Цитата Сообщение от nimazzzy Посмотреть сообщение
Из header-файлов ручками, или какой-либо документации.
А include'ов для асма вообще нет никаких?

Цитата Сообщение от nimazzzy Посмотреть сообщение
Если надо - то нужен сишный рантайм. Если не нужен сишный рантайм, то пиши без вызовов к нему. Не понимаю
А зачем мне сишный рантайм, если я хочу использовать 1 конкретную функцию из obj-файла?

Цитата Сообщение от nimazzzy Посмотреть сообщение
Их при сборке может быть тысяча, а потом они линкуются в одну библиотеку
Нашёл я libc.a, но толка никакого... Запускаю: ld -L '/usr/lib/x86_64-linux-gnu' -o test.elf test.o -l libc.a
А мне в ответ:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
libc.a(iofclose.o): In function `_IO_new_fclose':
(.text+0x288): undefined reference to `_Unwind_Resume'
libc.a(iofclose.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(iofflush.o): In function `_IO_fflush':
(.text+0x173): undefined reference to `_Unwind_Resume'
libc.a(iofflush.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(iofputs.o): In function `_IO_fputs':
(.text+0x188): undefined reference to `_Unwind_Resume'
libc.a(iofputs.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(iofwrite.o): In function `_IO_fwrite':
(.text+0x20d): undefined reference to `_Unwind_Resume'
libc.a(iofwrite.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(wfileops.o): In function `_IO_wfile_underflow':
(.text+0x734): undefined reference to `_Unwind_Resume'
libc.a(wfileops.o):(.eh_frame+0x6b): undefined reference to `__gcc_personality_v0'
libc.a(fileops.o): In function `_IO_new_file_underflow':
(.text+0x45f): undefined reference to `_Unwind_Resume'
libc.a(fileops.o):(.eh_frame+0xa7): undefined reference to `__gcc_personality_v0'
libc.a(backtrace.o): In function `backtrace_helper':
(.text+0x24): undefined reference to `_Unwind_GetIP'
libc.a(backtrace.o): In function `backtrace_helper':
(.text+0x30): undefined reference to `_Unwind_GetCFA'
libc.a(backtrace.o): In function `__backtrace':
(.text+0xbc): undefined reference to `_Unwind_Backtrace'
libc.a(iogetdelim.o): In function `_IO_getdelim':
(.text+0x328): undefined reference to `_Unwind_Resume'
libc.a(iogetdelim.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(fseek.o): In function `fseek':
(.text+0x11d): undefined reference to `_Unwind_Resume'
libc.a(fseek.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(ftello.o): In function `__ftello':
(.text+0x192): undefined reference to `_Unwind_Resume'
libc.a(ftello.o):(.eh_frame+0x13): undefined reference to `__gcc_personality_v0'
libc.a(ioseekoff.o): In function `_IO_seekoff':
(.text+0x318): undefined reference to `_Unwind_Resume'
libc.a(ioseekoff.o):(.eh_frame+0x67): undefined reference to `__gcc_personality_v0'
Может, я не ту (или не так) библиотеку присоединяю?

Добавлено через 54 секунды
А ты говоришь...
Цитата Сообщение от nimazzzy Посмотреть сообщение
До жести, имхо, тут далековато.
Добавлено через 1 минуту
А каком файле (объектном, библиотеке, в буфете...) находится функция sbrk?
Почему я не могу её одну вытащить без сишного рантайма?
0
Заблокирован
10.02.2017, 14:17
Цитата Сообщение от Jin X Посмотреть сообщение
А include'ов для асма вообще нет никаких?
Может, есть. Я их никогда не использую.
Цитата Сообщение от Jin X Посмотреть сообщение
А зачем мне сишный рантайм, если я хочу использовать 1 конкретную функцию из obj-файла?
Потому что она в нем лежит. Потому что функция может зависеть от инициализации какой-либо фигни перед началом ее работы.
Цитата Сообщение от Jin X Посмотреть сообщение
Нашёл я libc.a, но толка никакого... Запускаю: ld -L '/usr/lib/x86_64-linux-gnu' -o test.elf test.o -l libc.a
Потому что ты все делаешь ручками, а когда собираешься с сишным рантаймом, то проще попросить за тебя все сделать gcc. Если хочешь ld, то запусти gcc с опцией -v и посмотри, какие он параметры линковщика использует, чтобы собраться.

Добавлено через 22 секунды
Цитата Сообщение от Jin X Посмотреть сообщение
А каком файле (объектном, библиотеке, в буфете...) находится функция sbrk?
в libc.

Добавлено через 6 минут
Цитата Сообщение от Jin X Посмотреть сообщение
Почему я не могу её одну вытащить без сишного рантайма?
А ты можешь вытащить на винде из dll-ки один одинокий printf? потому что это библиотека с набором функци. Ты с ней линкуешься. Существует статическая линковка, с .a файлом, либо вытаскиванием объектного файла из архива. Но я всячески против таких вещей.

Добавлено через 7 минут
На моей системе:
Bash
1
2
3
4
5
6
7
$ ar -t /usr/lib/debug/usr/lib64/libc.a | grep brk
strpbrk.o
strpbrk-c.o
wcspbrk.o
tcsendbrk.o
brk.o
sbrk.o
Можешь линковаться пробовать, объектники есть. Но я всячески такие извращения не поддерживаю. Линукс - это динамическая линковка и нормальная работа рантайма. Если не нужен рантайм, то его вообще не надо трогать, и функции его не трогать, а писать все руками. Либо используешь исключительно сисколы, либо линкуешься со всем, что нужно. Все просто и никакой жести.

Добавлено через 5 минут
Хочешь библиотечную функцию - линкуешься динамически с библиотекой. Не надо ничего выдумывать. Тем более, с libc, которая есть на каждом линухе.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 14:24  [ТС]
Цитата Сообщение от nimazzzy Посмотреть сообщение
Потому что она в нем лежит. Потому что функция может зависеть от инициализации какой-либо фигни перед началом ее работы.
А разве sbrk – рантаймовская функция? Или libc - это и есть рантайм (типа msvcrt)?
Хотя, в любом случае ничто не мешает ей обратиться к какой-нибудь глобальной рантаймовской переменной. Ну да. Это ж не dll-ка...

Хорошо. Если не использовать библиотеку, а использовать только brk, откуда брать исходный адрес? Посмотрел исходники sbrk.c и дальше по цепочке... там используется переменная _hurd_brk, который изначально присваивается &_end. Вот только что это за _end - непонятно. Концов не найти... Как его определить?
0
Заблокирован
10.02.2017, 14:29
Цитата Сообщение от Jin X Посмотреть сообщение
А разве sbrk – рантаймовская функция, а не стороннй библиотеки...?
Она находится в libc. У меня на этот счет есть своя позиция. Это третьесторонняя библиотека. Если я использую ее функцию, то я с ней линкуюсь. К чему внутри нее она конретно относится мне пофигу. Все может поменяться в любой момент. На то она и библиотека. Мое дело просто указать своему приложения - бери вот эту функцию вот оттуда.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
10.02.2017, 14:37  [ТС]
_end везде (во всех файлах, в которых есть это слово) объявлен как extern...

Добавлено через 1 минуту
Цитата Сообщение от nimazzzy Посмотреть сообщение
бери вот эту функцию вот оттуда.
Что значит "бери"? Переписать на асме? Я ж говорю: там используется extern-переменная _end, которая нигде не инициализируется. Как узнать текущую позицию brk (или как там правильно выразиться)?

Добавлено через 1 минуту
Цитата Сообщение от nimazzzy Посмотреть сообщение
Она находится в libc
Так, libc - это рантаймовская сишная библиотека и есть? Или нет?

Добавлено через 3 минуты
А вообще, это вроде как не libc, а glibc... нет?
0
Заблокирован
10.02.2017, 15:10
Цитата Сообщение от Jin X Посмотреть сообщение
Хорошо. Если не использовать библиотеку, а использовать только brk, откуда брать исходный адрес? Посмотрел исходники sbrk.c и дальше по цепочке... там используется переменная _hurd_brk, который изначально присваивается _end. Вот только что это за _end - непонятно. Концов не найти... Как его определить?
С кодом работать забота об адресе кучи - это загрузчика загрузчика бинарей.

Добавлено через 3 минуты
Цитата Сообщение от Jin X Посмотреть сообщение
Что значит "бери"? Переписать на асме? Я ж говорю: там используется extern-переменная _end, которая нигде не инициализируется. Как узнать текущую позицию brk (или как там правильно выразиться)?
Не знаю, надо инвестигировать код.
Цитата Сообщение от Jin X Посмотреть сообщение
Так, libc - это рантаймовская сишная библиотека и есть? Или нет?
Да.

Добавлено через 5 минут
Как я вижу по коду сискола, при невалидном адресе (например, 0 попробовать), он вернет текущее значение. Попробуй, поиграйся. И не путай сискол brk с функцией.

Добавлено через 7 минут
Цитата Сообщение от Jin X Посмотреть сообщение
Что значит "бери"? Переписать на асме?
"Бери" это значит, что немного раньше очень искал sbrk.o. Я тебе показал, где он лежит. Бери и делай, что ты там хотел с ним сделать ))))))) Вот это я имел в виду )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2017, 15:10
Помогаю со студенческими работами здесь

Системные вызовы
Дали задание: • Вывести имя компьютера; • Вывести имя пользователя; • Вывести версию ядра операционной системы; • Применить в...

Системные вызовы
Мне нужно продемонстрировать работу системных вызовов windows на с++. Как это можно сделать?

Системные вызовы
Как осуществить вывод счета в секундах на консоль (своеобразный таймер). и как организовать отсчет числа секунд в обратном направлении? ...

Pintos системные вызовы
подскажите, пжлста, какие-нибудь линки или книги, где можно прочитать как работать в Пинтос, как писать системные вызовы и программки,...

Системные вызовы Ubuntu
Доброго времени суток. Надеюсь, не ошибся с разделом. Недавно записался на онлайн курс по Linux, но немного подзавис на заданиях, которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru