ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

2023-08-01から1ヶ月間の記事一覧

ツールチェーンとコンパイラの違い

クロスコンパイラを探しているとツールチェーンというものをよく見かける. 何が違うかというと、ツールチェーンはコンパイラに加え、バイナリツール、デバッガ、ライブラリを含んでいる. 広義のコンパイラ(MinGWなど)はライブラリなども含んでいるので、正確…

GCCでリンクしているライブラリを知りたい

GCCはオプションなしでビルド工程を自動で行ってくれますが、だからこそデフォルトでリンクされているライブラリが分かりにくいです. デフォルトでリンクされるライブラリやリンカスクリプトを知りたい場合は、 -Wl,--verbose オプションをつけてリンカに--v…

WinAPIの型まとめ

WinAPI(MSVC)で頻出の型の情報をまとめました. 適宜更新するかもです. Win64環境前提です. 環境 項目 バージョン WinSDK 10.0.22621.0 呼び出し規則 結局のところすべて__stdcallと同じ意味になるが、識別子を分けることで何のための関数かはっきりさせる. …

GCCでユーザー独自のセクションを定義したときの挙動

GNUコンパイラに生成コードをユーザー独自のセクションに配置するように命令したときに、デフォルトのリンカスクリプトが使用可能か実験しました. 実行環境 独自セクションにコードを配置する exeをダンプ(デフォルトリンカスクリプトでビルド) デフォルトの…

LRESULT型とは何なのか

環境 項目 説明 OS Windows11 Windows SDK 10.0.22000.0 LRESULTは64ビットint型 minwindef.hを見ると以下のようにtypedefされています. //minwindef.h /* Types use for passing & returning polymorphic values */ typedef UINT_PTR WPARAM; typedef LONG_…