
Re: Каква е тая тъпотия??
Един от начините - дефинираш си union по тоя начин:
Това кара компилатора да използва за достъп команди за неподравнените адреси (MIPS-а си ги има).
После можеш да се обръщаш към каквото те интересува:
В "p" адреса вече може да е всякакъв. Още повече, в тоя union можеш да си дефинираш променливи от всякакъв тип, което често е удобство - поинтера става универсален, към неподравнени променливи каквито ти душа иска. Май можеше дори неподравнен поинтер към подравнен struct, но в последното не съм 100% сигурен. Само веднъж съм се борил с такова, и то отдавна. Виж __attribute__ ((packed)) го ползвам често за struct, за да не оставя дупки в него.
memcpy винаги работи, ама е няколко пъти по-бавно.
Виж в ръководството за тоя компилатор. Търси "packed" - има и други варианти. Кашата е пълна, защото за съвместимост се поддържат и стари неща, после се появяват нови, добавят и махат долни подчертавки и прочие полюции. По тоя повод, новата им система за PIC32 още не смея да я пробвам дори.
