Описание тега freestanding
A freestanding implementation of C++ is an implementation that can work without an operating system, and has an implementation-defined set of libraries. Commonly found in embedded development environments.
2
ответа
Вызов процедуры сборки из другого файла сборки?
Просто простой вопрос: Допустим, у меня были следующие две программы сборки: 1: add10: add eax, 10 ret ;call add5 from other file 2: add5: add eax, 5 ret ;call add10 from other file Могу ли я позвонить add10 (заявлено в первом файле) из второго файл…
23 апр '14 в 04:42
1
ответ
Автономный код ARM C++ - пустой раздел.ctors
Я пишу код C++ для запуска в автономной среде (в основном, на плате ARM). Все шло хорошо, за исключением того, что я наткнулся на камень преткновения - глобальные статические конструкторы. Насколько я понимаю, секция.ctors содержит список адресов дл…
02 июн '10 в 12:11
0
ответов
Почему функция printf все еще может использоваться после добавления автономной опции
В общем, я уже прочитал следующие статьи, проверил определение "отдельно стоящие / размещенные" в стандарте языка gcc, но пока не разрешил свои сомнения. https://gcc.gnu.org/onlinedocs/gcc/Standards.html https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-…
02 янв '19 в 03:16
1
ответ
Ошибка: функция, объявленная как ms_abi, ранее была объявлена без соглашения о вызовах (clang)
Когда я пытаюсь скомпилировать код C, который включает в себя другой заголовок C, я получаю эту ошибку: x86_64-uefi/../../libk/string.h:9:10: error: function declared 'ms_abi' here was previously declared without calling convention KABI int memcmp(c…
27 дек '17 в 11:56
2
ответа
Создание функции для выбора интерфейса в зависимости от аргументов
Я хочу сделать функцию для выбора другой в C, возможно, этот C-псевдокод может помочь немного прояснить, что я хочу: void set_method(const char *method) { // Check if the method is serial_port if (strcmp(method, "serial_port") == 0) { // assign the …
22 янв '18 в 15:12
1
ответ
Нужно ли реализовывать порт библиотеки C в C?
Я работаю над ядром. Одной из задач при написании ядра является то, что библиотека C должна быть портирована. Некоторые функции, такие как memcmp, strlen и так далее надо переписать. Большую часть времени я вижу код, написанный на C, а затем заверну…
15 окт '15 в 03:30
1
ответ
C++ автономные функции
Какие функции я могу использовать в автономной среде C++? Я занимаюсь разработкой небольшого ядра (для собственного удовольствия) и знаю, что не могу использовать всю библиотеку stdlib, но что еще? когда я пытался использовать операторы new и delete…
24 фев '17 в 14:54
0
ответов
Печать писем с помощью функции set_pixel (c)
У меня есть set_pixel функция (функция, которая устанавливает цвет пикселя на примере дисплея), и у меня есть только этот метод вывода для печати на дисплей. Я пытался напечатать некоторые символы на экране для отладки и других общих целей, но единс…
11 дек '17 в 15:37
2
ответа
uintx_t для сопоставления char* в автономном C++ с использованием компилятора GNU
Поэтому я пытаюсь преобразовать некоторые целые числа в символьные массивы, которые мой терминал может записать. так что я могу видеть значение моих кодов расчетов для целей отладки при его запуске. как если бы int_t count = 57 я хотел, чтобы термин…
23 янв '17 в 12:01
2
ответа
Как скомпилировать для автономной среды с GCC?
Предполагается, что код, над которым я работаю, можно создать как для размещенных, так и для автономных сред, предоставляя частные реализации некоторых функций stdlib для последнего случая. Могу ли я надежно проверить это только с помощью GCC на обы…
21 апр '10 в 08:24
2
ответа
Разделить символ * в разделителе в автономном режиме C++
Я пытаюсь написать свою собственную операционную систему. Я следовал инструкциям в OSDev Wiki, и сейчас я работаю над написанием консольного режима с командами. Мне нужно уметь разделить char* в char**, без всей функциональности библиотеки (следоват…
15 мар '18 в 10:06
1
ответ
Отдельно стоящие GCC и встроенные функции
Документы GCC по адресу http://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html говорят (под -ffreestanding) что автономная среда подразумевает -fno-builtin, Я мог бы неправильно понять, что такое автономная среда или как она работает, но мне кажет…
10 сен '13 в 06:04
0
ответов
Custom Freestanding printf, отображающий только одну букву и случайный заглавный S
Я пытаюсь разработать свое собственное ядро, к которому загружаюсь с GRUB. Чтобы отобразить строки с переменными, я начал разрабатывать свой собственный printf(char*, ...) функция. Вот файл kernel.cpp (спасибо учебнику YouTube по написанию собственн…
30 янв '19 в 18:46
1
ответ
Пользовательский распределитель памяти для реального режима DOS .COM (отдельно стоящий) - как отлаживать?
Сначала немного предыстории: наткнувшись на этот пост в блоге, я узнал, что можно создать DOS .COM файлы с компоновщиком GNU, и это даже не ракетостроение. С помощью clang и -m16 переключатель (создание 32-битного кода, совместимого с реальным режим…
05 авг '15 в 20:29
8
ответов
1 КБ программного пространства, 64 байта оперативной памяти. Возможна ли 1-проводная связь?
(Если ваш ленивый, смотрите дно для TL; DR) Здравствуйте, я планирую создать новый (прототип) проект, связанный с физическими вычислениями. В основном у меня есть провода. На всех этих проводах необходимо одновременно измерять напряжение. Разница ме…
18 апр '10 в 09:24
4
ответа
Есть ли значимое различие между автономными и размещенными реализациями?
Вопрос, который у меня есть, в основном связан с шестым разделом четвертым. Две формы соответствующей реализации являются размещенными и автономными. Соответствующая размещенная реализация должна принимать любую строго соответствующую программу. Как…
14 июн '15 в 01:24
1
ответ
Выбор типа возврата для вариабельной лямбда-функции C++11
У меня есть следующая функция; template<typename T, typename U, typename... Parameters> void transform(void (*func)(Parameters...)) { auto lambda_function = [func](T args, U params) { auto combined = std::tuple_cat(args, params); helper(func, …
06 мар '13 в 12:01
1
ответ
Как скомпилировать C в сырой двоичный файл в OSX?
Я следую учебнику о том, как создать ОС с нуля. Я нахожусь в точке, где мне нужно начать писать код на C, но мне нужно скомпилировать его в автономном режиме в необработанный двоичный файл. Команды даны: gcc -ffreestanding -c kernel.c -o kernel.o ld…
18 дек '16 в 01:26
0
ответов
Может ли GCC создавать независимый от позиции код для автономных сред?
Я всегда думал, что генерация позиционно-независимого кода (PIC) в основном зависит только от процессора, для которого компилируется. Однако после прочтения этого в документации GCC: Для 386 GCC поддерживает PIC для System V, но не для Sun 386i. (за…
23 май '14 в 16:54
0
ответов
Неопределенная ссылка на main() из-за несоответствия сигнатур при компиляции с использованием Clang-6.0 с -ffreestanding
Я занимаюсь разработкой ядра ОС как хобби, и у меня уже есть библиотека, которая заменяет стандартную библиотеку как в размещенной, так и в автономной среде. Естественно, это обеспечивает точку входа, которая делает необходимые настройки и звонки ma…
15 окт '18 в 18:50