何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 761
  • 記事 - 18
  • コメント - 37042
  • トラックバック - 222
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2011
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

それでも欲しい情報がないので、まとめてみた。→Windows Data Type


表の見方

「型」の列が、Windows Data Type。基本型はここには入っていません。それはまた、後で追加するかもしれない。

「説明」の列が、一部だけ翻訳されているのは気のせい。

「最終定義」の列は、「結局、どの型に落ち着くの!?」って所。例えば、HANDLE なんかは PVOID と定義されています。したがって、「PVOID って何?」がわからないと、HANDLE がどういう型で定義されているかわからないわけです。こここそ欲しかったので、追加したところ。
基本的に、一番左の列で定義されている型になります。何らかの define がされると、その列の型が有効になります。
"_M_IX86" は、i386 用の時に定義されるらしい。つか、なんで "_WIN64" と2つあるわけ?
"_WIN64" は、64ビット環境の時に定義します。
"_UNICODE" は、Unicode を扱うときに定義します。TCHAR などが、wchar_t で定義されます。
"その他" は、一つ二つしか出てこないものをまとめました。

「実際の定義」の列は、その次の「場所」の列で示されるヘッダーで書かれている定義です。

投稿日時 : 2007年11月5日 22:24
コメント
  • # re: 64ビット化:Windows Data Type 一覧
    渋木宏明(ひどり)
    Posted @ 2007/11/06 0:38
    >なんで "_WIN64" と2つあるわけ?

    ・cpu アーキテクチャに依存する何か
    ・WinXX に依存する何か

    を識別するためでは。
  • # re: 64ビット化:Windows Data Type 一覧
    kkamegawa
    Posted @ 2007/11/06 0:43
    現行ではWIN64はIA-64とx64。以前はAlpha AXP,Power PCなんかもありましたしね。

    現行でもたとえばのページサイズあたりがx64とIA-64では違うはず。
  • # re: 64ビット化:Windows Data Type 一覧
    ゆーち
    Posted @ 2007/11/06 6:02
    お。いいっすね。
    タダでいただきました(w
    GJ
  • # re: 64ビット化:Windows Data Type 一覧
    Jitta
    Posted @ 2007/11/06 15:42
    渋木さん、kkamegawaさん、ゆーちさん、コメントありがとうございます。

    CPUアーキテクチャですか。なるほど。
    ん~、だったら、amd64 と ia64 だと思うのです。64ビットで x86 はないでしょう?

    WDK では IA64 環境があるのですが、VS2005 にはない?追加のモジュールが必要?
    AMD64 も、規定では入りませんね。

    あ、WDKコンパイル環境も、整理しないと。


    Excel ファイルのままの方がよかったかな?
  • # re: 64ビット化:Windows Data Type 一覧
    Jitta
    Posted @ 2007/11/07 21:28
    とっちゃんさん、コメントありがとうございます。

    > このページにコンパイラ定義のビルド識別子一覧が出てます。
    なるほど、コンパイラが定義しているのか!!

    で、単に定義されるのではなく、
    http://msdn2.microsoft.com/ja-jp/library/b0084kay(VS.80).aspx#_predir_table_1..3
    こっちのアーキテクチャか...コンパイルオプション "/G?" なのね。。。


    ちょっとまってね。

    "_UNICODE" は、"_MBCS" と排他的に、ユニコードを使用するのか、マルチ バイト キャラクタ セットを使用するのかを、【開発者が定義する】。
    "_WIN64" は、64ビット CPU でするための結果を得るために、【開発者が定義する】。
    "_M_IX86" は、その他のフラグによって、【コンパイラが定義する】。

    でいいかな?
  • # re: 64ビット化:Windows Data Type 一覧
    とっちゃん
    Posted @ 2007/11/08 12:02
    _UNICODEや_MBCSなどの文字コード定義は開発者定義ですね。
    C/C++ コンパイラ的には、文字コードは関係ないんでw
    #TEXT()マクロは開発者の利便用ですからw

    _WIN64 もそういう意味では同じ。_WIN32 も実は同様です。
    _WIN64 は、64bitOS専用APIのためのオプションですからね。
    定義されていなければ自動的にセットアップされるようになってます<windows.h のどこかでw

    CPUアーキテクチャを示す、_M_IX86とかは、コンパイラオプションですね。
    これと同様のタイプは、_MSC_VER なんかもそうです。

    _MSC_VER はコンパイラのバージョンそのものですが
    バージョンによって、template とかの限界が
    違ってたりするので結構重宝しますw

    ちなみに、_ATL_VER や _MFC_VER はヘッダーに定義されているので、コンパイラオプションではないです。

    それ以外では、_DLL, _MT, _MANAGED なんてあたりはコンパイラオプションによる定義ですね。

    ライブラリの自動リンク用ヘッダーなんかはこの辺の定義見て
    山のような #ifdef があったりしますw

    あ、そうそう、_DEBUG も開発者定義です。

  • # re: 64ビット化:Windows Data Type 一覧
    Jitta
    Posted @ 2007/11/09 7:41
    そういえば、いつから UNICODE などが アンダースコア付き になったのでしょう?
    新規に作るものは、どちらで統一した方がいいのでしょう?

    _T() と TEXT() も、どっちを使えばいいんだろうと、悩む

    MSDN は、アンダースコア付き が多いようだけど???
  • # re: 64ビット化:Windows Data Type 一覧
    とっちゃん
    Posted @ 2007/11/09 11:24
    _UNICODE ってそういえばいつからだろう?
    VC6 くらいかなぁ?
    1996年ころのソースは、UNICODE でしたw


    _T() と TEXT() は、前者は tchar.h で、CRT の領分、後者は Windows の SDK の領分です。
    こちらは、正直どっちでもいいと思いますよw

    今時、Windows環境なのにコンパイラ(それもメーカーも)変わるというのはないでしょうし。
    あるとしたら、それは会社が変わるってときくらいだろうからwww
  • # re: 64ビット化:Windows Data Type 一覧
    Jitta
    Posted @ 2007/11/09 20:38
    なるほどぉ
    アンダースコア付きでかためた方がよさげ_〆(。。)メモメモ…


    64ビット化の見積もり出せと言われているんだけど、この作り、引きずるのか?と自問中
    Objective toolkit の VC7.0 対応版使ってんだけど、VC8 に食わせるとエラーや警告がざっくざく

    外して MFC のみに作り替えるか、コードが付いているからひたすら修正するか、.NET で作り替えるか



    悩む
  • # re: 64ビット化:Windows Data Type 一覧
    とっちゃん
    Posted @ 2007/11/12 17:27
    >VC8 に食わせると
    VC7->7.1はまぁ、コンパイラのバグ修正程度で大した違いはないですがw
    7.x->8.0 は、C++標準化への対応が大幅に進んだので
    シャレになってねーです。
    さらに、セキュアライブラリとかかぶさってるので...
    ポーティングだけ(Win32->Win32のまま)だとしてもどえらい苦労ですよw
    #7.x 時点で、/Wp64 にがっちり対応してれば問題も少ないんですがね...w

    とはいえ、16->32 の時よりは多少はまし...かなぁ?
    少なくとも、プリミティブな型のサイズは変わってないんでw
  • # re: 64ビット化:Windows Data Type 一覧
    Jitta
    Posted @ 2007/11/12 21:24
    > 7.x->8.0 は、C++標準化への対応が大幅に進んだので
    ええ。この関係のエラーがどっさりてんこ盛り!!
    もね、見積もれないっす。
    とにかく、エイヤ!しといたです。
    もう、しらね(号泣)
  • # hsXbrleaLfoMTLecfcs
    https://www.blogger.com/profile/060647091882378654
    Posted @ 2021/07/03 4:10
    Really appreciate you sharing this blog.Thanks Again. Keep writing.
  • # does erectile dysfunction affect fertility
    hydroxychloroquine treats what
    Posted @ 2021/07/06 16:30
    hydroxychloriquin https://plaquenilx.com/# hydroxycloro
  • # re: 64????:Windows Data Type ??
    side effect of hydroxychloroquine
    Posted @ 2021/07/09 6:57
    cloroquin https://chloroquineorigin.com/# dangers of hydroxychloroquine
  • # re: 64????:Windows Data Type ??
    where do you get hydroxychloroquine
    Posted @ 2021/07/25 11:07
    choroquine https://chloroquineorigin.com/# hydroxychloroquine dangers
  • # zwbhwytnmqpo
    cegolqid
    Posted @ 2021/11/30 3:52
    chloroquine buy https://chloroquineclinique.com/
タイトル
名前
Url
コメント