Расширения компилятора (зависящие от компилятора). Например, в ваткомовском С через прагмы осуществлялась вставка ассеблерных инструкций, указывалось через какие регистры передавать параметры функциям и т.д.
портабельная программа должна быть такой чтобы если #pragma убрать то она была бы корректной. Ну а тот компилятор который эту прагму поймет он может сделать что-то особое.