Posts on ARM

呼び出し規約とは?stdcallとはなんぞや?という話。

昔WindowsCEプラットフォームで製品開発していた時も、素のWin32APIを叩いてテストアプリを作ったりしていたけれど、今思うとあまり理解しないままに使って作っていたんだなぁ…と、今更ながら思う。 ARMで言う所のeabiみたいなもんか。関数を呼び出すということ - Web/DB プログラミング徹底解説 https://t.co/Bb6Nw5icCO @sharethisより— takashi ando (@takashi7ando) 2016年10月27日 上のリンク先、「関数を呼び出すということ」なんて超基本じゃん!などと思うなかれ、かなり深いところまで掘り下げて解説されています。 最も具体的で身近な例としては、「Win32APIと標準Cライブラリとでは、スタックの巻き戻し方が違うんだよ」という点です。そうだったんだ!と、目から鱗でした^^; そんな__stdcallの規約、大元の情報は以下のMicrosoft本家ページに記載されています。 Win32APIの呼び出し規約 Cライブラリはこちらです。 Cライブラリの規約__cdecl ちなみに、上記の規約ページでも触れていますが、スマホなどの組み込み機器で確固たる地位を築き上げたARMプロセッサは、インテルのx86プロセッサとは全く異なるCPUなので、当然規約も違います。 検索したら、ARM社ではなく、なぜかMicrosoft の解説ページがトップに出てきたんですが… そのままリンク貼っちゃいます^^; ARM ABI 規則の概要 なんでこんなもん調べだしたのかというと… 今後仕事でWindows上で動かす業務効率化するスクリプトを書く機会が増えそうで、…