Как да определите степента на приложение, Стрелец Кодер
Понастоящем, във връзка с разпространението на 64-битови процесори и операционни системи, разработчиците на софтуер често се сблъскват с въпроса за софтуерното определяне на неговата битовост.
Това може да бъде причинено както от декоративни причини („автоматично“, показващо битовата дълбочина на потребителя, например „Моята програма 1.0 64-битова версия“), така и от необходимостта да се използват различни алгоритми в различни архитектури, за да се възползват максимално от техните характеристики и в същото време поддържат една единствена кодова база.
Най-простите начини
В Delphi, за да се определи битността на приложението, е достатъчно да се получи размерът на нетипизиран указател, използвайки стандартната техника.
В резултат на това ще бъде върнат размерът на нетипизирания указател в байтове. За да конвертирате в битове, е достатъчно да умножите резултата по 8. В случай на 32-битово приложение резултатът ще бъде 4 (след умножаване на 32). В случай на 64-битово приложение резултатът ще бъде 8 (след умножаване на 64).
Има подобен трик за C ++.
Има подобен начин в езика C #. За да определите дълбочината на битовете, трябва да знаете размера на типа IntPtr. Този тип обаче няма предварително зададен размер и следователно директното използване на функцията sizeof ще доведе до синтаксична грешка.