2015年9月10日木曜日

VB corflags って言うユーティリティは何?

そう、タイトルの様なレベルです、私。
PE (Portable Executable) つまり Windows の実行ファイルの 各種 フラグを表示・操作するユーティリティですね。
私 位のレベルでは 関係ない そんな感じです。
でも、知っていると、何かの役に立つ!かも。


スタートメニューから 以下の 階層を辿ります。  以下、Visual Studio 2013 の例です。
C:¥ProgramData¥Microsoft¥Windows¥Start Menu¥Programs¥Visual Studio 2013¥Visual Studio Tools
そこで 開発環境用の コマンドプロンプト を立ち上げます。


因みに、実行してみますか。
corflags コマンド。
コマンドのヘルプと 実際に作った実行ファイル( VB / AnyCPU + 非 32 ビット優先 + .Net 4 ) の確認を。
C:¥Program Files (x86)¥Microsoft Visual Studio 12.0¥VC¥bin¥amd64>corflags /?
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.33440

Copyright (c) Microsoft Corporation.  All rights reserved.

Usage: Corflags.exe Assembly [options]

If no options are specified, the flags for the given image are displayed.

Options:
/ILONLY+ /ILONLY-       Sets/clears the ILONLY flag
/32BITREQ+ /32BITREQ-   Sets/clears the bits indicating 32-bit x86 only
/32BITPREF+ /32BITPREF- Sets/clears the bits indicating 32-bit preferred
/UpgradeCLRHeader       Upgrade the CLR Header to version 2.5
/RevertCLRHeader        Revert the CLR Header to version 2.0
/Force                  Force an assembly update even if the image is
                        strong name signed.
                        WARNING: Updating a strong name signed assembly
                         will require the assembly to be resigned before
                         it will execute properly.
/nologo                 Prevents corflags from displaying logo



C:¥Program Files (x86)¥Microsoft Visual Studio 12.0¥VC¥bin¥amd64>corflags "C:¥Us
ers¥UserName¥Documents¥Visual Studio 2013¥Projects¥MySolution¥MyProject¥bin¥Rele
ase¥MySoftware.exe"
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.33440

Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x1
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 0

C:¥Program Files (x86)¥Microsoft Visual Studio 12.0¥VC¥bin¥amd64>
固有名詞を置換したので改行位置がめちゃくちゃ ... 。  
と言う具合なのですが、 VB 使いの私には ちんぷん かんぷん。
そりゃぁそうですね。  VB や C# は、この辺りの構成をシステムが自動にこなしてくれていましたから ... 。
必要最低限の項目を選定するだけ でしたから。

  尤も、Express Edition が殆どだった私は 触りたくとも触れない のが 実情 でしたが ... 。
  お陰で、 触らずに済んでこられた 幸せ 、 と言う処でしょうか。

    そうそう、この例の場合、 AnyCPU で 32 ビット優先なしで .Net4 ですから、OS のビット数に合わせて動きます。
    それを確認する為に、 corflags コマンド を動かして見た訳です。


やはり、似非(えせ)プログラマーに 本格機能満載の Community Edition は 宝の持ち腐れ?。

  普通、このユーティリティは、実行ファイルの対象マシンや実行環境設定の確認、そして、 その変更に使う 様です。
  使用許諾条項に抵触する恐れもあるのですが、 分る方が、弄ったりするみたい。
  でも、中途半端な知識で弄くり廻すのは、焼け石に水 かも。
  特に、ハードウェア(含む・メモリ)に直接アクセスする類のものは無理でしょうし ... 。



0 件のコメント:

コメントを投稿