Я провожу бенчмаркинг на виртуальной машине, там ничего лишнего не установлено и работает минимум всего.
Понял, увеличу размер массива и выберу другой алгоритм.
Как лучше измерить время в моём случае? Чтоб -pthread сам по себе не влиял на счётчик.
А вот и не соглашусь с вами.
Я, как ученик колледжа могу смело заявить - ничему полезному не учат.
Но с другой стороны, если человек хочет учиться, он и без всяких колледжей и вузов освоит специальность на отлично.
У меня есть ещё несколько вопросов, буду рад если вы мне ответите.
1. Могу ли я как-то из Си кода, в функции kmain(), получить адрес метки, например stack_here или stack_space?
Я хотел использовать esp, поскольку туда загружается адрес stack_space, но он регулярно изменяется.
Могу ли я использовать один или два других регистра для сохранения начала и конца стека? Мне важно чтобы эти регистры не изменились во время вызова Си функции kmain() и по ходу вызова иных функции из неё, что мне делать?
2. Что будет если в теории какая нибудь функция или что-то другое переполнит стек? Она повредит код или другие данные?
3. Какой размер стека будет оптимальным? Я читал что некоторые ОС используют до нескольких мегабайтов, не смотря на это, не каждая программа способна задействовать больше пары килобайт.
Спасибо.
Что значит "писать отдельно по функциям каждую директиву"?
Вообще, директивы предпроцессора зачастую объявляются в самом верху, но никто не запрещает в отдельной функции прописать необходимую директиву.
tsarevfs, это не наезд, просто вы вместо нормального ответа написали бред.
Проблема, как я думаю, связанна с тем, что функция компилируется независимо(во время компиляции vgamemory.c), а затем, компилятор находит её в таблице символов и использует при компиляции kmain.c, и получается что несмотря на то, что мы её не включили, он её нашёл сам в таблице символов.
Лично я думаю что это так, могу ошибаться.
Вот вы говорите:
Либо уберите использование функции, либо подключите хедер.
1. Зачем мне её убирать если она мне нужна? Я её ради прикола написал и могу без неё обойтись?
2. Если я подключу хедер, то получу ошибку multiple definition.
Так что, мне нужно как то извернуться и заставить компилятор не находить её в таблице символов без явного включения vgamemory.h в kmain.c
Но вы же описали, что я использую неправильный метод подсчёта времени, какой будет использовать правильней?