Сообщение от iMaxmaxmaximus
|
я думал там просто типа абстрактные классы мутятся, а потом компялятор оптимизирует под нужную платформу подключая нужные КОНКРЕТНЫЕ классы с реализацией уже оптимизирвоанные. я к тому что компилятор сам может оптимизировать это под апи оси, не? или это ка кто по другому специально делается?
ГРУБО ГОВОРЯ.
|
Директивами препроцессора определяются куски кода, которые попадают на конечную компиляцию. Можно определить зависимость от типа ОС, от ее версии, от архитектуры процессора, от используемых библиотек, от своих собственных опций, которые ты назначаешь сам, да и много от чего еще. То есть ты можешь как описывать полностью самостоятельные версии одного и того же класса, так можешь описать прямо внутри класса разные версии функций, методов и даже разный набор переменных. Ну и конечно от компилятора тоже зависит, может ли он отдельно скомпилить бинарник под чужую платформу, или только под свою родную. Но грубо говоря всё так.
Оно не компилится полностью как джуквери при загрузке на страницу, а компилится только то что нужно под заданную конфигурацию.