Win32API質問箱 Build126

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/05/01(金) 22:16:51.96ID:ZJ42fMZB
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/

■関連スレ
Visual Studio 2019 Part4 https://mevius.5ch.net/test/read.cgi/tech/1585715794/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
2020/05/08(金) 20:55:35.84ID:+jRc4+db
文字コードの ANSI って、なんなんだろ

ASCII とか Shift-JIS とかだと分かるけど、
ANSI って言われると、…ん? ANSI …?ってなる

メモ帳の ANSI って、Shift-JIS のことなんだっけ?
なんで Shift-JIS をこんなわけわからん名前にしてるんだろ
2020/05/08(金) 21:14:31.19ID:g8DwAXAR
ウィンドウズのマルチバイト文字列変換は、コードページ切り替えで実現している。
既定のコードページANSI (CP_ACP)は、日本語ウィンドウズでは932(Shift_JIS)に転送される。英語圏のウィンドウズでは1252などになる。具体的な値はGetACP関数で取得できる。

シフトJIS変換では、WideCharToMultiByteとMultiByteToWideCharの第一引数にCP_ACPではなく、明示的に932を指定した方がいい。
2020/05/08(金) 21:16:27.83ID:XNwDJZFz
ANSI・・・ JISと敵対する組織であり世界に暗躍するISO一味の筆頭
Shift-JIS・・・ 悪の秘密結社MSにより改造されたJIS
2020/05/08(金) 21:18:08.68ID:DxagrNge
>>54
CreateWindowは2000からAとWだね
95〜98系はほぼUNICODE対応されておらず、リソースや文字列を扱うごく一部のしかない

>>55
ANSIがASCIIを制定
これをベースに各種ローカル文字コードが乱立
そしてUNICODEへ
2020/05/08(金) 21:49:33.14ID:NOJZfKLR
いい加減Aはサポートを打ち切っちゃえと思う
TCHARの為に無駄な手間が増える
60デフォルトの名無しさん
垢版 |
2020/05/08(金) 22:31:37.13ID:/+tKw0XQ
無理にTCHAR使わなくて良いんだよ
_Tも_Lも面倒なだけ
2020/05/08(金) 22:37:21.10ID:4UXJHFlD
自分でA環境切ってれば面倒は無いと思うが
AのAPI残してるからこそ生き延びてるレガシーアプリはまだ無視できねんじゃないかなあ
未だに日本語パスとかでコケるアプリがあるのはそのせいでもあるんだろうけど
2020/05/08(金) 22:49:11.78ID:NOJZfKLR
>>60
無理ではないけど...
Aを切ってくれないと思い切りが

そういえば
Wしか使えないWindowsが昔あったな
63デフォルトの名無しさん
垢版 |
2020/05/08(金) 22:50:57.33ID:/+tKw0XQ
CEとかだっけ
2020/05/08(金) 22:52:30.48ID:NOJZfKLR
おっ
よくご存じで
2020/05/08(金) 23:52:07.44ID:DxagrNge
レガシーな制御機器を扱うソフトからすると、OSでUNICODEに一本化されると困るというか面倒極まりない
2020/05/09(土) 06:57:55.10ID:IGvav/BT
APIのA系がいらんというだけで
制御系は好きな文字コードでやれば良いんだよ

ファイルのアクセスや各種プロトコルでは
いろんな文字コードを使うはずで
全ての文字コード用に各種APIが対応してる
なんて必要は全く無い
変換APIだけ用意してくれれば良い
2020/05/09(土) 11:08:41.27ID:NXe586WT
>>66
言われてみればその通りやな
2020/05/09(土) 11:14:28.38ID:QCHAZIsg
OS側で文字を入力・加工したものを制御系に流す、又はその逆のことを全く考慮しないならそうだね
2020/05/09(土) 11:39:49.17ID:OifcNah8
でもUTF8って、マルチバイト文字じゃないの?
W系の関数ってUTF16だよね?
70デフォルトの名無しさん
垢版 |
2020/05/09(土) 11:56:33.06ID:3rxWY8lS
UTF8とUTF16は表現が違うだけで空間は一緒やろ
(厳密には一対一ではない)

Shift_JIS と UTF16 とかで変換しようとすると化けたり欠けたりする
WideCharToMultiByte と MultiByteToWideChar の引数は UTF8 だけにするべき
2020/05/09(土) 12:26:48.39ID:CUL9xwyE
要求されているコード次第だろ。
SJISが必要な場面で変換できない文字が含まれていたならエラーにするだけ。
2020/05/09(土) 12:29:46.42ID:/Z4Vk9Yy
Go は、ワイド・UTF-8。
Windows は、ANSI・CP932

だから、Windows のみ、変換が必要!

WSL なら、Linux/Windows間の変換を、Windowsが自動変換するだろ
2020/05/09(土) 13:44:45.28ID:OifcNah8
ちょっと前にWindows10がUTF8を使用する機能が追加されたと聞いたけど、あれはどういう仕組みなの?
開発するときはWCHARやW系の関数を使っててもいいの?
2020/05/09(土) 13:53:34.15ID:y1dzFt5u
>>73
>Windows10がUTF8を使用する機能が追加された
設定で A 系がデフォで UTF-8 になると聞いています
2020/05/09(土) 13:59:36.27ID:OifcNah8
>>74
ということは、A系はなくすどころか、これから主流に戻っていくということ?
2020/05/09(土) 17:38:12.35ID:IGvav/BT
内部はUTF16
2020/05/09(土) 18:36:20.72ID:MO8a3o69
設定で変えないとな今だとちゃんとシステムがUTF8かどうか確認しないとバグるだろうなぁ。。。
2020/05/09(土) 18:41:38.14ID:MSg9l4oI
A系やWideCharToMultiByteを使ってかつsjisだと決め打ちしてるとバグるね
2020/05/09(土) 20:45:09.00ID:bNQ8i22s
聞いてるだけでよくわからなくなってくる
マルチバイト星人はこの先もしばらくは無駄な苦労をしていくことになりそう
80デフォルトの名無しさん
垢版 |
2020/05/09(土) 23:03:31.09ID:VZmAPRaM
TCHAR はもういらない子
2020/05/09(土) 23:48:55.23ID:VnJD5UE+
>>80
mingw で提供されている <windows.h> は TCHAR を使っているから、おさらばするわけにはいかないでしょうね…
https://mevius.5ch.net/test/read.cgi/tech/1434079972/53
2020/05/10(日) 00:10:35.50ID:lS9VwhWL
マイクロソフトが提供為てるわけじゃないんだし知ったことかよ
2020/05/10(日) 00:59:54.73ID:sYQDYC6t
創造主は世界を A と W に分けた。


後の A&W である。
2020/05/10(日) 07:07:50.16ID:TKKqj4ZC
>>70
> (厳密には一対一ではない)
UTF8 と UTF16 って符号化文字集合は同じだから全符号化表現が一対一対応するんだと思ってたわ
例えば何が一対一にならないん?
2020/05/10(日) 09:57:36.15ID:FEs4SWZl
同じ文字に複数の表現方法があるとか
86デフォルトの名無しさん
垢版 |
2020/05/10(日) 10:02:11.48ID:Fp1kS4OT
WinSockの話はこのスレであってる?
ブラウザを作りたいんだけど、書店で本を探しても無くってさ
2020/05/10(日) 10:16:37.79ID:iOuxRny5
プロトコルはRFCをあたる
受け取ったデータの可視化やうそんこの文字指定から文字化け回避とか、そっちのほうは知らない
88デフォルトの名無しさん
垢版 |
2020/05/10(日) 10:18:22.51ID:Fp1kS4OT
>>86
自作ゲームに、将来的に通信対戦の機能とかをつけたいから。
89デフォルトの名無しさん
垢版 |
2020/05/10(日) 10:22:11.17ID:Fp1kS4OT
>>87
わかった。RFCを調べてみる。

あと、2ちゃんの別スレも見つかったから、それも調べてみる。
『ネットワークプログラミング相談室 Port30 [転載禁止]©2ch.net 』
https://mevius.5ch.net/test/read.cgi/tech/1414709836/
2020/05/10(日) 11:03:37.16ID:sYQDYC6t
フライドチキンはKFCでお願いします。
2020/05/10(日) 21:18:11.74ID:MdXjYqca
筋トレやダイエットにはPFCバランスが大事らしい
2020/05/11(月) 00:39:02.31ID:37dgyJTT
DFC
貧乳にアクセスするためのプロトコル
93デフォルトの名無しさん
垢版 |
2020/05/14(木) 17:10:26.05ID:xR/PZA9p
32bit アプリサポート終了のお知らせ
2020/05/14(木) 17:21:03.49ID:eHRrlmRs
32bitOSが終わるだけでWOW64は無くならんと思うが
2020/05/14(木) 18:11:15.76ID:wD9bKf3u
それも時間の問題かも
2020/05/14(木) 18:26:01.94ID:uakMKPpl
過去資産切り捨てるだけでメリット皆無
ってこの話題何回目だ
2020/05/14(木) 18:27:58.15ID:wD9bKf3u
コスト削減
2020/05/14(木) 18:35:32.89ID:8JWtj6XY
>>94
ということは16bitアプリ終了のお知らせってことか
2020/05/14(木) 19:16:57.69ID:wD9bKf3u
だね
2020/05/14(木) 19:18:28.93ID:eHRrlmRs
>>97
コスト削減どころかWindowsシェア削減になるね
2020/05/14(木) 19:38:59.13ID:wD9bKf3u
「どころか」
全然つながってない

32bitのシェアが減ればコストに見合わなくなるので
開発を打ち切るのは当然

それによってアプリ開発者も負担が減る

OSの64bit化で16bitを切ったのもそういう理由
2020/05/14(木) 20:23:50.17ID:DKKTi7r6
素人たちはこれだから困る
32ビット対応を継続することで、比較対象ができることでバグが少なくなるのだ
両方で動くコードは安定しているし、今後128ビット対応にも生きてくる
2020/05/14(木) 20:25:45.84ID:wD9bKf3u
同じコストを書ければ
片方だけの開発、評価の方がバグが少ない
当然だ
2020/05/14(木) 20:26:28.62ID:wD9bKf3u
128bit?
そんな時代は少なくとも数十年は来ない
105デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:32:36.16ID:xR/PZA9p
IPv6ですねわかります
106デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:39:37.00ID:swrzxMJK
で、オマエラは32bitアプリはもう作らないの?
107デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:40:13.60ID:QxbT6fEj
ロクヨンロクヨンいちにっぱ、1988年。
108デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:42:32.92ID:xR/PZA9p
sizeof int == sizeof long
よりも
sizeof int < sizeof long
の方がなじみがある
2020/05/14(木) 20:48:00.53ID:wD9bKf3u
int : 16bit / long : 32bit
int : 32bit / long : 32bit
int : 32bit / long : 64bit
どれも良く使う

Windowsに限定すれば今は32bit/32bitだけだが
2020/05/14(木) 20:49:50.08ID:wD9bKf3u
趣味のプログラムだと32bitアプリはもう作らない
仕事だとまだ必要
2020/05/14(木) 21:16:04.45ID:uakMKPpl
まーた自分の希望的観測を大局的指針だと強弁しちゃう勘違い君が来ちゃったか
前と全く同じ事言っちゃってて進歩してないな
2020/05/14(木) 21:25:47.85ID:wD9bKf3u
16bitは切った
これが事実
2020/05/14(木) 21:39:36.59ID:wbq2quQU
なんのこっちゃと思ったらOEM向けの32bit版OSを提供しなくなるってだけの話か
Windowsに関しちゃMSはゆーっくり削ってくねえ
2020/05/14(木) 22:18:38.95ID:ssqTGeCM
APIHOOKどうする ?
115デフォルトの名無しさん
垢版 |
2020/05/14(木) 23:55:54.26ID:7qxmxCRs
真っ赤な奴が一人で喋ってるというだけで信頼度0
2020/05/15(金) 01:57:25.78ID:T5z4Mqc/
この人前も同じ様なガバガバ理論を連レスしてたな

> 16bitは切った
> これが事実

これをドヤ顔で推すのなら、同じ理論で128bitOSが出るまでは32bitアプリは生きることになるぞ
117デフォルトの名無しさん
垢版 |
2020/05/15(金) 02:07:48.44ID:PClFYiSI
>>116
96bitで切ります
2020/05/15(金) 04:23:46.36ID:sHW7IJmG
>>116
なんで?
AMD64は16bit切ったけど、128の時32bit切るってどうして言い切れるの?
2020/05/15(金) 07:03:42.39ID:kJI5kK91
128bitなんか出ないよ
2020/05/15(金) 07:09:21.09ID:kJI5kK91
16bitは切った
32bitもいずれ切る
128bit CPUは出ない
2020/05/15(金) 07:25:33.82ID:Pb1EIu78
32bitのCPUが4つだから128bitだ、と嘘をつくゲーム機メーカーがあったな
2020/05/15(金) 08:01:44.45ID:GEHeiiL6
プレステ3だっけ
123デフォルトの名無しさん
垢版 |
2020/05/15(金) 09:25:45.18ID:v3x5k1hP
インテルのロードマップによると次に出るのは80ビットプロセッサ。
2020/05/15(金) 10:32:06.39ID:Sz6wqqvQ
レジスタに名前つけてほしいんだ
r10とか無機質な使い捨て兵士みたいな奴よりraxやrbpのほうがかわいげがあるだろ
2020/05/15(金) 11:21:50.10ID:QE59VEMD
>>122
Cellに関してそんなデマ流れてたっけ?
2020/05/15(金) 12:48:58.84ID:oHmbvZOo
>>122
ドリームキャストでは
2020/05/15(金) 18:13:09.35ID:sHW7IJmG
>>124
鉄オタを見てみなよ
103とか485とか、謎の数字で大喜びしてるよ?
2020/05/15(金) 18:18:02.87ID:QE59VEMD
昔、昔、あるところでの対話
友人: おまえPC何使ってんの?
俺:   486/33
友人: ????????
2020/05/15(金) 18:45:16.23ID:sHW7IJmG
PCを問われてるのにCPUを答えたらそうなるだろ
車何のってんの?って聞かれてHR15DEとか言ったら
オタクを蔑む目で見られるだけだろ
2020/05/15(金) 19:22:59.50ID:PWQ6blWE
>>124
なんだ…トムとかマイケルとかじゃないのか…
2020/05/15(金) 20:11:01.88ID:sHW7IJmG
>>130
MichaelはMikeでもMikeyでもMickyでもMickでもいいとかになるのかな
2020/05/15(金) 21:26:50.30ID:s5k+QbAR
>>125
CELLのSPEは128bitレジスタを128基備えた本物で、32x4のSIMD演算ができた。
2020/05/16(土) 12:07:58.46ID:duYaQXmV
今のPC用CPUは256bitレジスタがあって
64bit x 4 のSIMD演算が出来るから
256bit CPUか
2020/05/16(土) 12:17:02.93ID:IjBZ7sB3
昔のベクトルコンピューターは
65536bit CPUとか?
135デフォルトの名無しさん
垢版 |
2020/05/16(土) 12:36:13.35ID:is04b0b3
SSDとかすごそうだな
2020/05/16(土) 12:38:50.78ID:IjBZ7sB3
なにが?
2020/05/16(土) 12:48:31.52ID:Os/XxFcn
>>133
8bitCPUと言われる奴にだって16bitレジスタはあったよ?
でもそれを16bitCPUとかいったら馬鹿にされるよ?
2020/05/16(土) 15:19:59.15ID:nRzs8qav
〇〇bit CPUネタはいつも定義がグダグダで荒れる元
2020/05/16(土) 15:33:48.76ID:4LNE0T1O
Z80は4bit CPUだとかw
140デフォルトの名無しさん
垢版 |
2020/05/17(日) 13:33:26.86ID:qdHuVgcd
>>127
アオいいよね
2020/05/24(日) 10:26:06.68ID:aVoyeE00
>>138
昔から定義があいまいだしな

30年以上前はデータバス長で決めるのが主流だったと思う
なので68000は16ビットCPUと言われることが多かった
でも、68000は内部が32ビットだからと32ビットCPU扱いしてる本もあった

子供ながらに早く定義を確定させろよと思ってたな
2020/05/24(日) 10:38:26.14ID:y84CPFUU
何ビットかで性能を判断しようってのが間違い
2020/05/24(日) 11:08:07.08ID:9LKtIHkT
MC68008なんかどうなるんだよw
144デフォルトの名無しさん
垢版 |
2020/05/24(日) 16:10:49.32ID:x8aMDsmm
8088だか8085だかもう忘れたが
2020/05/24(日) 17:15:35.64ID:Y2PNnK8W
>>144
8085 は Z80 に似た位置付け
8088 は 8086 の 8 bit 版
2020/05/24(日) 18:23:26.62ID:WIKh9/kk
8080 は周辺回路用に、8251 (USART)、8253 (CTC / PIT)、8255(PPI)
というファミリがあったんだ。
「CHIPSET」というものの走りか。
147デフォルトの名無しさん
垢版 |
2020/05/25(月) 11:49:32.24ID:xHeORMOB
64180やろ常考
2020/05/26(火) 10:31:04.56ID:DUXfe990
ALUで一度に計算できるレジスタ長でいいんじゃないかね
2020/05/26(火) 11:34:31.94ID:kYnyuVta
ALU幅=レジスタ幅とは限らないのだが
2020/05/26(火) 11:48:43.44ID:lk6wFY6w
100メガビットまだー?
2020/05/26(火) 18:46:58.11ID:Be8LwKLh
Project REUNION

このスレもまだまだ終わらんね
2020/05/26(火) 19:24:46.61ID:kaVJ2d4/
アドレス空間の広さという定義もあった
さらに仮想アドレスや実アドレスに物理的サイズ(アドレス線の数)とか
2020/05/26(火) 20:41:32.11ID:tlZqmZqw
Win32でなんでこの話かとは思うが、基本的に
どれでも頭打ってる最小のビットがNならNビットCPUだろ
アドレスバスが32ビットでも命令長が16ビットのしかできなければそれは16ビットCPUだ
2020/05/27(水) 05:52:37.50ID:UfAFwj6f
>>153
その定義だと64bit CPUがほとんど無くなるけど
良いのかな?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況