パスワードを忘れた? アカウント作成
14504128 journal
Windows

route127の日記: ぷらぷら20

日記 by route127

XPソース流出スレのコメントを見ていて思い出したが、この間登録済みのCOMサーバの識別子(Excel.Application, Wscript.Shell, InternetExplorer.Applicationのようなもの)を列挙しようとしたが、レジストリ読み込んでパースしてと考えたら結構面倒臭そうだった。
ただこれがPowerShellなら1行で書けるんだそうだ。

Gwmi win32_ProgIDSpecification | Format-Table -Property ProgID, Description -AutoSize | more

またCOMサーバが提供するプロパティ値の一覧も参照できる

$com = New-Object -ComObject Excel.Application
$com|Get-Member

ところでCOMサーバは全てレジストリに登録されているものと思っていたが、レジストリフリーのCOMサーバというのも実現可能ではあってその為のWindowsAPIも用意されているらしいことを知った。

表にSwiftの話題も出てたが今のWindowsのツールチェーンがどうなってるのかよく知らないな。
VC++、VB、C#にSwiftが加わる感じなのか。
そういえばなんかWindowsのコンポーネントをRustで書き直してるみたいな話もあったよな。

C++はこないだ本家のほうでC++20が話題になってた。
モジュールとかコルーチンとか導入されるらしいが、職質の人はコルーチンを批判してたな。
ISOの作業部会(WG21)ではC++23に向けてその辺ライブラリのサポートを進めていくようではある。
MSVCもC++20の機能を既に取り込んでいっているのか。

しかしintのbit幅がシステム依存なのは知ってたが負数表現についてもこれを2の補数に限定するのはC++20からというのを知って驚いた。
実際UNISYSのメインフレーム、UNIVAC系の36bitマシンであるOS2200(ほかにMCP系があるらしい)は1の補数で負数を表現するそうだ。
またこれはUNISYSにメールすればWindowsPC上で実行可能なエミュレータを入手可能だとのこと。

負数表現は加算器の設計に起因するハードウェアの問題だと思っていたが、そうなると今後はC++20で書かれたソースコードは1の補数で負数を表現するメインフレームには移植性が担保されなくなるとかいうことなのか?
負数を1の補数で表現するのは互換性以外に何かメリットがあるんだろうか。

typodupeerror

「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」

読み込み中...