0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[2021Jul] Win32 SDK for Linux の消費ディスクスペース

Last updated at Posted at 2021-07-20

はじめに

どうしても手元で Win32 実行ファイルをビルドする必要があり、未体験だった Mingw-w64 on Linux を試してみることにしました。

が、どのくらいディスクスペースを必要とするのか不明です。不安です。なぜ不安なのかはコチラに書きましたので省略します。

ということで調べてみました。

結論

6.0.0-3 で 1GiB 弱でした。そんなに小さくなかった。

実験

幾つかのパターンがありそうなので、実験してみました。いずれも Docker で debian:10.9-slim に apt install したものです。

↓こんな感じ。

FROM debian:10.9-slim
RUN apt update && apt -y install mingw-w64

結果は下記です。

指定パッケージ サイズ
mingw-w64 mingw-w64-tools 974
mingw-w64 884
gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 539
gcc-mingw-w64-x86-64 407
gcc-mingw-w64-i686 g++-mingw-w64-i686 496
gcc-mingw-w64-i686 378

gcc-mingw-w64-i686 だけでもビルドできます。binutils なども依存パッケージとしてインストールされますので。
Win32 で C だけで足りれば、かなり小さく済みますね。

コーディング中は 32bit/64bit の両方が必要ということも無いでしょうから、別々に docker image を作っておいたほうが便利でしょうか。どうでしょうか。

余談

MinGW って MinGW ですよね。Mingw-w64 は MinGW-W64 じゃないんですね。

いや、別に、大丈夫です。問題ありません。
間違えないように注意します。商標は正確に。大事。

おわりに

ということで、手軽に Win32 できそうです。

当初は .NET 5 の倍かよ!と叫んでしまいましたが、ダウンサイズする余地も残されていて。

めでたしめでたし。

ホントは

GetCurrentProcessToken() を使いたかったのですけど、6.0.0-3 では使えませんでした。ざっくり v6 は Windows 8 未満ということですかね。

Mingw-w64 は 2021-05-22 に v9 がリリースされてますから、Debian Buster のは結構古いってことですね。v6 のリリースは 2018-09-17 とのことです。

Ubuntu はというと、Focal Fossa のは v7 ですね。

よし、ネットワーク帯域が余っている日に v7 試してみよう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?