Nee, akorát vylepšené anonymní struktury a uniony.
__try nedělá jen defer a pro plnotučný SEH je třeba hlubší podpora.
Ty anonymni struktury tam jsou jen proto, ze jen to se tyka C.
Dalsi featury pod timto prepinacem se tykaji C++, ale ten se v Linuxovem jadru nepouziva.
On Microsoft jede primárně C++. C umí visual studio tak nějak mimochodem. Takže se s rozšířeníma pro holé C moc neobtěžuje.
jeste tak zkompilovat kernel pomoci msvc.
to bych si mohl zkusit nejaky jednoduchy kod v C a porovnat jaky assembler generuje gcc proti msvc, nevim jestli to tisnovsky uz nema nekde v clanku.
S trochou pomoci by to mohlo projit (udelat C objekty a finalni linking delat na linuxu) :-)
Jako urcite to je jedna z "world first" challenges - ktere vam uz nikdo pak nevezme.
Asi ne. Linux kernel má v sobě tuny inline assembler. MSVC má pro inline assembler zcela odlišnou syntaxi, u x86_64 nepodporuje inline assembler vůbec.
U C kódu by to bylo s otazníkem - Linux kernel dost spoléhal na GCC extensions, některé z nich byly ale později standardizovány. Nicméně MSVC často úplně podle standardů nejel...
> Nicméně MSVC často úplně podle standardů nejel...
Teraz uz ano, hlavne novsie standardy. Micoroft sa uz davno poucil.
Ale to by sa dalo povedat aj o GCC, Clang, ktore maju hromady nestandardnych extensions.
Obcas robim multiplaformovy vyvoj v C a na tie GCC specific veci narazam v kniziciach az prilis casto.