Help us understand the problem. What is going on with this article?

C/C++ developer からみた uCRT のメモ

uCRT とは?

https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/

C/C++ developer からしたら glibc 相当かしらん.
header とソースコードは実は公開されている. 実装としては Win32 API or より低レベルの Windows 関数を呼んでいる感じである. C++ で書かれている.

uCRT ランタイムは Windows 10 から標準付属となった.
古いシステムでは, vcredist あたり入れればいけるっぽい.

再配布性

https://docs.microsoft.com/en-us/cpp/porting/upgrade-your-code-to-the-universal-crt?view=vs-2019

Retail(Release) の DLL は再配布可能.
Debug 版は不可(もともと昔も Visual Studio の debug DLL 関連は再配布不可でした. 開発者用なので本来は再配布向けではないですが, シンボル周りとか, デバッグ DLL で変に動かないエラーが出るのを避けるために再配布不可にしているでしょうか)

Static link

static link が可能である(もしくは uCRT のソースコードを自身のプロジェクトに取り込んで static build も可能).

バイナリとしての再配布は,

https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/

の blog を見る限り OK そう. app-local deployment に該当.
(Debug 版はどうなのかな?)

ときどき api-ms-win-***.dll を含んだアプリを見ますが, これが app-local deployment.

Wine

Wine で動かしてデバッグしたいときは, app-local depolyment or static link ですかね.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away