Имеем делитель напряжения из резистора и транзистора. Максимальный ток коллектора 500 мА, максимальное напряжение 45 В, т.о. внутреннее сопротивление коллектор-эмиттер 90 Ом, в даташите - 83 Ом.
100 Ом и 83 Ом - это 4.09 В на коллекторе. 4.09 / 83 = 49 мА.
0,049 х 4.09 = 0.2 Вт. Рассеиваемая мощность транзистора 0.625 Вт.
В принципе, не потечёт, конечно, но греться будет градусов до 50-ти Цельсия. В то время как его характеристики в даташите рассчитаны под 25 градусов.
Если поставить резистор 10К.
На коллекторе имеем напряжение 0.07 В. Это ток 0.84 мА.
0.00084 х 0.07 = 59 мкВт.
По-моему, прекрасно - он будет больше нагреваться от Солнца в тени.
Вы должны понимать, что 9В - это батарейка Крона. В ней всего 625 мАч. При токе 49 мА она сядет за 12 часов работы. А при токе 0.84 мА она сядет за 84 года 11 месяцев 4 дня 23 часа 2 минуты 24 секунды.
Mercury13, да что тут непонятного, просто это не к C++ вопрос, а к компилятору. Простейший способ - вставить эти данные как ассемблерную вставку. Некоторые компиляторы позволяют задать атрибут константе, в каком сегменте она должна быть размещена.
Mercury13, операционная система может переместить страницу кодового сегмента в другую область память, и указатель станет невалидным, а код будет работать, потому что при компиляции указатели в коде - это смещения относительно текущего значения регистра PC.
Прекрасный совет, на практике баг в одной библиотеке порождает процесс исправления этого бага в двух других библиотеках, и тут начинается пляска с версиями. Версия А одной библиотеки требует версию Б другой библиотеки, а та требует версию Ц первой библиотеки. Иначе всё придётся переделывать.
На практике две библиотеки ещё можно сопровождать, потому что 2^N - это те же 4, что и 2+2, но 3 библиотеки - это уже 2^3 - а это уже восемь. И тут либо единый общий код на все версии, либо можно будет забыть про добавление 4-й библиотеки.
Интерфейсы - это вообще из другой оперы. Это не API.