2010-10-06 5 views
1

Система C предоставляет произвольные длины целочисленных типов, которые можно манипулировать либо как числа (т. Е. С поддержкой артехимии), либо как битовые векторы (т. Е. С поддержкой логических операций и работы с подвекторами).Возможно ли использовать типы данных System C на C++ без всего ядра System C?

Система C также поддерживает всевозможные другие вещи, которые я не хочу, такие как часы, флип-флопы и т. Д., А также его собственное время выполнения. Я придирчив - мне нужны типы данных без накладных расходов.

Могут ли эти типы данных использоваться независимо от остальной части ядра системы C? Если да, то как?

ответ

1

Я не знаком с SystemC, но я всегда хотел бы отметить, что в проектах с открытым исходным кодом вы можете получить ответ от уст лошади.

Просмотр файлов CPP, которые реализуют целочисленный тип, по-видимому, зависит от вещей в datatypes/, utils/ и kernel/:

http://github.com/systemc/systemc-2.2.0/tree/master/src/sysc/datatypes/int/

Если статическое связывание, что говорит Джерри не сравнить ее вниз достаточно для того, что кажется разумным (из-за какой-то ненужной глобальной или подсистемы), вы можете разветвить его у GitHub для своей минималистской версии, если это важно сделать ... но всегда есть затраты на поддержание вашей собственной ветки.

(Или вы можете внести мета-систему для обрезания битов системных людей C, которые не нужны, которые могут быть включены в основной дистрибутив!)

4

По крайней мере, TTBOMK, no. Существует довольно много библиотек, которые поддерживают целые числа произвольной длины в C++ без аппаратного дизайна «stuff» в SystemC, хотя (например, NTL, GMP, MIRACL). Некоторые из них добавляют больше, чем просто арифметику произвольной точности (например, различные функции, используемые в основном по теории чисел).

OTOH, учитывая типичные реализации, по крайней мере, если вы используете их как статические библиотеки, только то, что вы на самом деле используете, будет связано с вашим исполняемым файлом.

 Смежные вопросы

  • Нет связанных вопросов^_^