[過去ログ]
C++相談室 part164 (1002レス)
C++相談室 part164 http://mevius.5ch.net/test/read.cgi/tech/1683600652/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
321: デフォルトの名無しさん (アウアウウー Sacd-Hkv7) [sage] 2023/06/23(金) 16:14:47.39 ID:lCxAQSJFa >>313 Code::Blocks (+ mingw) http://mevius.5ch.net/test/read.cgi/tech/1683600652/321
322: デフォルトの名無しさん (ワッチョイ 69f0-J7ro) [sage] 2023/06/23(金) 18:47:00.64 ID:5tcqgCxE0 コンパイラの本なにがいいのかオススメ聞いたらオッサンに聞いたら怪獣が書いてある本って云われて本屋行って買ったらあとで付録のFDD誰かにかっぱわられていタコとに気付いたけどその本一冊ではなんの役にも立たないクソみたいな本だったわ そのあとオライリーのyacc&lexの本と早乙女氏のBison&Flex本で学び直したわ http://mevius.5ch.net/test/read.cgi/tech/1683600652/322
323: デフォルトの名無しさん (ワッチョイ 69f0-J7ro) [sage] 2023/06/23(金) 19:05:06.07 ID:5tcqgCxE0 良く見たら全然違ったわw https://i.imgur.com/DHAPVXR.jpg yacc&lexが早乙女氏でBison&Flexが五月女氏でオライリーに似てるけどASCII出版やったわ http://mevius.5ch.net/test/read.cgi/tech/1683600652/323
324: デフォルトの名無しさん (テテンテンテン MM96-Axrn) [sage] 2023/06/23(金) 19:51:54.58 ID:s3XGk2XtM >>316 まず動くものを作ることに注力したほうがいい。 どうせ最初のコードは(問題領域の学習後に)捨てることになるから、プロトタイプと割り切るべき。あんまり頑張ると進捗悪くて挫折するし、うまく行ってもコンコルド効果で酷い目にあう。 >>310 確かに静的変数は自動だけど別物だな……よくやった。悔しいが褒めてやろう。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/324
325: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0d3e-C6j3) [sage] 2023/06/23(金) 22:40:53.53 ID:Xemzxb7u0 >>324 ??? storage duration は四種類の内の「ひとつ」であることは直接的に明記されていて解釈の余地がない。 https://timsong-cpp.github.io/cppwp/n4861/basic.stc#1 兼ねる場合は存在しない。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/325
326: デフォルトの名無しさん (ワッチョイ 6501-2DXs) [] 2023/06/24(土) 08:29:33.32 ID:31MSzc3x0 >まず動くものを作ることに注力したほうがいい。 +1票 >いくつかのコンパイラで試してみれば問題点を発見しやすい。 これはその通りだけど、もっともっと先の話 http://mevius.5ch.net/test/read.cgi/tech/1683600652/326
327: デフォルトの名無しさん (ワッチョイ 856e-gmRT) [sage] 2023/06/24(土) 09:51:19.10 ID:xNNc2oEW0 動くといってもHello worldじゃあまりにもモチベーションに乏しいから 何でもいいから目的目標を持ったプログラムを書いたほうがいい http://mevius.5ch.net/test/read.cgi/tech/1683600652/327
328: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) [sage] 2023/06/24(土) 12:57:29.18 ID:rXisqo0O0 >>327 この話題の大元である >>313 でコンパイラを書くと書いてあるよ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/328
329: デフォルトの名無しさん (ワッチョイ 6501-wYA+) [] 2023/06/24(土) 20:48:58.11 ID:rm+SB6K20 ドラゴンブックでは? 誤植を指摘できるくらい読み込めば古典は理解できてると思う http://mevius.5ch.net/test/read.cgi/tech/1683600652/329
330: デフォルトの名無しさん (アウアウウー Sa69-F3wx) [] 2023/06/27(火) 14:41:09.50 ID:DdZG5nY/a いつまでも初心者を抜け出せない人は初心者本を読み過ぎ http://mevius.5ch.net/test/read.cgi/tech/1683600652/330
331: デフォルトの名無しさん (ワッチョイ 856e-gmRT) [sage] 2023/06/27(火) 17:36:09.51 ID:59BI4JPS0 初心者本は【ど】初心者のうちだけにしとけ 謙虚なことはいいことだが、ここだけは背伸びしたほうがいい 初心者本で何か知ったら、それで禿本がどのくらい読めるようになったかやってみれ 禿本が普通に読めるようになったら次はISOの規格票 http://mevius.5ch.net/test/read.cgi/tech/1683600652/331
332: デフォルトの名無しさん (ワッチョイ 856e-gmRT) [sage] 2023/06/27(火) 17:38:22.91 ID:59BI4JPS0 逆もしかり ISOの規格票であえなくギブしたら禿本 禿本でギブのとき初心者本に戻る感じな http://mevius.5ch.net/test/read.cgi/tech/1683600652/332
333: デフォルトの名無しさん (ワッチョイ 8d7c-BujW) [sage] 2023/06/27(火) 18:00:18.69 ID:h1cnuIf90 特にC++は下手な参考書より規格の方が分かりやすかったりするからな… http://mevius.5ch.net/test/read.cgi/tech/1683600652/333
334: デフォルトの名無しさん (ワッチョイ dd4e-OfpS) [sage] 2023/06/27(火) 18:15:38.33 ID:D2orubkn0 初心者へのアドバイスに禿本とかいう隠語をつかうのはどうかと思う http://mevius.5ch.net/test/read.cgi/tech/1683600652/334
335: デフォルトの名無しさん (ワッチョイ d5b3-q57E) [sage] 2023/06/27(火) 18:27:04.42 ID:KKkR5HKI0 今独学でC++学んでいるんですが、たまたま見つけたサイトでint32_tとありましたが int変数を宣言するのにint32_tなんて使いませんよね? intでokですよね? http://mevius.5ch.net/test/read.cgi/tech/1683600652/335
336: デフォルトの名無しさん (ワッチョイ ad5f-VF0j) [sage] 2023/06/27(火) 18:34:12.56 ID:3myjDgNL0 何に使うか次第 http://mevius.5ch.net/test/read.cgi/tech/1683600652/336
337: デフォルトの名無しさん (ワッチョイ ad02-ES2+) [sage] 2023/06/27(火) 18:46:35.68 ID:gpD88JT50 >>335 32ビット長である必要があるときだけint32_tを使えばいいよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/337
338: デフォルトの名無しさん (ワッチョイ d5b3-q57E) [sage] 2023/06/27(火) 19:26:51.01 ID:KKkR5HKI0 サンクス http://mevius.5ch.net/test/read.cgi/tech/1683600652/338
339: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) [sage] 2023/06/27(火) 19:30:48.55 ID:wxXBe/Gr0 >>335 int は言語仕様では少なくとも -32767 から 32767 を表現可能な幅 (つまり 16 ビット) を持つことが規定されている。 具体的な大きさは処理系定義であって、最低限である 16 ビットかもしれないしもっと大きいかもしれない。 扱おうとする値の範囲が 32 ビット分の幅が必要であると見積もったなら int32_t が適切なこともある。 ただ…… int32_t は「条件に合致する整数型を処理系が持っているなら必ず提供しなければならない」ということになっているので、逆に言えば 32 ビット幅の整数型を持たない処理系では int32_t が存在しないことが許される。 C++ は処理系定義ということにしている項目がたくさんあって移植性を考慮しようとするとすごく大変なんだが (プログラマが想定してさえいれば) ある程度に広く対応可能な仕組みとしてこういう回りくどいものがある。 初心者の内はとりあえず自分の環境で動くものを作れるようになるというので十分だと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/339
340: デフォルトの名無しさん (ワッチョイ 856e-gmRT) [sage] 2023/06/28(水) 05:36:22.40 ID:p/gJzJ+n0 >>334 知らなきゃ聞くだろ http://mevius.5ch.net/test/read.cgi/tech/1683600652/340
341: デフォルトの名無しさん (スッップ Sd43-KhjG) [sage] 2023/06/28(水) 05:40:48.88 ID:PRZu9/2Od >>340 禿本って誰ですか? http://mevius.5ch.net/test/read.cgi/tech/1683600652/341
342: デフォルトの名無しさん (ワッチョイ 856e-gmRT) [sage] 2023/06/28(水) 07:54:48.30 ID:p/gJzJ+n0 Bjarne Stroustrup著 The C++ Programming Language ISBN-10 4797375957 http://mevius.5ch.net/test/read.cgi/tech/1683600652/342
343: デフォルトの名無しさん (ワッチョイ 856e-gmRT) [sage] 2023/06/28(水) 07:55:45.79 ID:p/gJzJ+n0 禿のブログ https://www.stroustrup.com/ http://mevius.5ch.net/test/read.cgi/tech/1683600652/343
344: デフォルトの名無しさん (ワッチョイ dd4e-OfpS) [sage] 2023/06/28(水) 11:12:40.66 ID:MFKAAcNx0 >>340 誰も知らないから隠語なんだよ たまにいるよな、相手の知らないであろう単語を使ってマウントを取った気分になるやつ http://mevius.5ch.net/test/read.cgi/tech/1683600652/344
345: デフォルトの名無しさん (テテンテンテン MM4b-HUf/) [sage] 2023/06/28(水) 12:11:22.15 ID:gg0vhlU/M >>340 検索すると別人の本が出てくるから駄目だろ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/345
346: デフォルトの名無しさん (ワッチョイ 23f0-OfpS) [sage] 2023/06/29(木) 00:03:54.47 ID:XHjEw6wR0 C++でintと書けない理由はほぼほぼwindowsのintが32ビットと定義されているからで、 逆に言えば100% windowsで動かさないとあらかじめ分かっているならint使って書くよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/346
347: デフォルトの名無しさん (ワッチョイ 4be5-O9q2) [sage] 2023/06/29(木) 07:49:46.01 ID:0UnKiO4J0 せいぜい数十までの整数でも、いちいちint8_tになんかしねえな http://mevius.5ch.net/test/read.cgi/tech/1683600652/347
348: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) [sage] 2023/06/29(木) 08:15:54.28 ID:l+ZsGqGg0 巨大な配列なら話は別だが単発の整数がレジスタより小さくても得なことが無いからな。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/348
349: デフォルトの名無しさん (ワッチョイ 9dc9-3ptY) [sage] 2023/06/29(木) 08:19:17.75 ID:beCjxg/z0 通信関連でペイロードに ビット長指定されてるのなんかは int○_t 使っときたい http://mevius.5ch.net/test/read.cgi/tech/1683600652/349
350: デフォルトの名無しさん (ワッチョイ 8590-bmws) [sage] 2023/06/29(木) 11:02:12.05 ID:prJHgW/t0 intでもshortでもCPUの計算速度は同じ http://mevius.5ch.net/test/read.cgi/tech/1683600652/350
351: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) [sage] 2023/06/29(木) 11:11:38.45 ID:l+ZsGqGg0 四則演算では int より小さい整数は int に拡張する変換が入ることになってるし、 int を受け取る関数でも当然に変換されるので 変換する処理の分だけ素朴なコンパイラだと short のほうがコスト高になる可能性もある。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/351
352: デフォルトの名無しさん (ワッチョイ 8590-bmws) [sage] 2023/06/29(木) 11:21:22.19 ID:prJHgW/t0 言葉足らずだったな 初学者向けに正確にいえば ビット数の低い数値の型にしたからといって 計算速度が速くなるワケじゃない 理由はハチミツ氏の記述通り http://mevius.5ch.net/test/read.cgi/tech/1683600652/352
353: デフォルトの名無しさん (ワッチョイ 23f0-OfpS) [sage] 2023/06/29(木) 17:52:26.59 ID:XHjEw6wR0 型のサイズが大きいほどキャッシュミスの確率が上がるし ベクトル化の効率も関わってくるから話はそう簡単でもないけどな http://mevius.5ch.net/test/read.cgi/tech/1683600652/353
354: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) [sage] 2023/06/29(木) 18:01:09.64 ID:l+ZsGqGg0 チューニングが必要になったら実測しろってのはそういうことよな。 やってみるまでわからん。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/354
355: デフォルトの名無しさん (ワッチョイ 23ad-F8yx) [sage] 2023/06/30(金) 13:08:37.59 ID:fR+nHOGQ0 やはり64bitCPUなら64bit整数が一番計算が速かったりするのかな http://mevius.5ch.net/test/read.cgi/tech/1683600652/355
356: デフォルトの名無しさん (ワッチョイ 05a7-7pYU) [sage] 2023/06/30(金) 13:38:31.87 ID:x+ZjTlP+0 >>348 al、ah、axと小さなレジスタでやりくりすることによりスタックすらも使わずに複数の変数を操作することは可能になる まあ汎用レジスタ数の多い64bitアプリではあんまりメリットにならんが http://mevius.5ch.net/test/read.cgi/tech/1683600652/356
357: デフォルトの名無しさん (ワッチョイ 4bf2-kZxR) [sage] 2023/06/30(金) 13:40:34.61 ID:GCvfqGNe0 普通、intは32bitじゃないの? 普通の計算に64bitなんて使ったらキャッシュ効率悪すぎでしょ http://mevius.5ch.net/test/read.cgi/tech/1683600652/357
358: デフォルトの名無しさん (ワッチョイ dd4e-OfpS) [sage] 2023/06/30(金) 15:06:59.18 ID:4d5Im9Ce0 多少のCPU内の計算速度差より、メモリアクセスのペナルティの方が遙かに影響でかいんだよね 昔、同じテキスト処理をsjisとutf16で速度比べたら、処理が複雑なはずのsjisの方がわずかに速かったこともあった http://mevius.5ch.net/test/read.cgi/tech/1683600652/358
359: デフォルトの名無しさん (ワッチョイ ad02-ES2+) [sage] 2023/06/30(金) 16:50:22.94 ID:4gqYGJxm0 じゃあ16ビット整数使おうぜ! http://mevius.5ch.net/test/read.cgi/tech/1683600652/359
360: デフォルトの名無しさん (スッップ Sd43-+46M) [] 2023/06/30(金) 18:10:36.60 ID:diu+eantd ILP32 LLP64 windows: int32 long32 long long 64 LP64 unix: int32 long64 long long 64 ILP64 実装例なし http://mevius.5ch.net/test/read.cgi/tech/1683600652/360
361: デフォルトの名無しさん (スプッッ Sd03-+QuN) [sage] 2023/06/30(金) 18:16:08.64 ID:rpfOZ2Y1d >>358 自作エディタの内部文字コードに悩んでるけどもしかしてUTF8がええのかな http://mevius.5ch.net/test/read.cgi/tech/1683600652/361
362: デフォルトの名無しさん (ワッチョイ dd4e-OfpS) [sage] 2023/06/30(金) 18:31:33.16 ID:4d5Im9Ce0 >>361 utf8は日本語3バイトになるし、冗長コードの問題もあるし、処理がより煩雑になるから内部処理コードには一番向かないと思う エディタなら素直にutf32(もしくは16)で持つのが良いような気がする http://mevius.5ch.net/test/read.cgi/tech/1683600652/362
363: デフォルトの名無しさん (ワッチョイ 8d9c-HUf/) [sage] 2023/06/30(金) 18:50:30.08 ID:JeB1mWDr0 >>362 utf16はサロゲートペアがあるから避けたほうがいい。 簡単に実装するならutf32、メモリを節約するならutf8。だけど、utf8が覇権だからutf8にしたら? http://mevius.5ch.net/test/read.cgi/tech/1683600652/363
364: デフォルトの名無しさん (ワッチョイ 8d7c-BujW) [sage] 2023/06/30(金) 18:53:22.37 ID:ccKyFSM70 今から新規にエディタ作るなら内部はUTF32一択でしょ それ以外を使う理由がない http://mevius.5ch.net/test/read.cgi/tech/1683600652/364
365: デフォルトの名無しさん (ワッチョイ dd4e-OfpS) [sage] 2023/06/30(金) 20:01:34.61 ID:4d5Im9Ce0 >>363 サロゲートペアの判定は簡単だし、utf32でも厳密には1文字=1要素にはならないし、 メモリアクセス量との兼ね合いでより高速に動作しそうな気がするが…避ける理由がよく分からない http://mevius.5ch.net/test/read.cgi/tech/1683600652/365
366: デフォルトの名無しさん (ワッチョイ 9d10-56Vs) [sage] 2023/06/30(金) 20:23:00.32 ID:fhTbp4mH0 今どきは絵文字とかも絡んでくるから「簡単に実装」なんてそうそう言えないと思うんだよね 性別やら肌の色で修飾みたいな複雑仕様を網羅する必要があるから http://mevius.5ch.net/test/read.cgi/tech/1683600652/366
367: デフォルトの名無しさん (ワッチョイ 8d7c-BujW) [sage] 2023/06/30(金) 21:27:23.31 ID:ccKyFSM70 Unicodeの処理なんてただでさえ魔境なんだから減らせる複雑性は減らしといた方が良いよ 悪いこと言わないからUTF32にしとけ http://mevius.5ch.net/test/read.cgi/tech/1683600652/367
368: デフォルトの名無しさん (ワッチョイ e2ad-hRAP) [sage] 2023/07/01(土) 10:11:11.88 ID:6RngsvF70 テキストエディタを自作すると一文字一文字の描画位置の計算を毎回しなければならず、結局全テキストをデータutf32形式で保持するのが楽という結論になりそう http://mevius.5ch.net/test/read.cgi/tech/1683600652/368
369: デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) [sage] 2023/07/01(土) 10:21:22.63 ID:zjPNSumQM そこまでやるとワープロやDTPの範疇では? http://mevius.5ch.net/test/read.cgi/tech/1683600652/369
370: デフォルトの名無しさん (ササクッテロラ Sp5f-kcaK) [] 2023/07/01(土) 10:38:59.61 ID:oFUv7PIMp >>351 変換する処理ったって、普通static_castにコスト発生せんやろ http://mevius.5ch.net/test/read.cgi/tech/1683600652/370
371: デフォルトの名無しさん (ササクッテロラ Sp5f-kcaK) [] 2023/07/01(土) 10:41:23.25 ID:oFUv7PIMp static_castというよりstatic_cast相当というべきか もちろん浮動小数点数と整数だと命令いるけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/371
372: デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) [sage] 2023/07/01(土) 10:43:45.44 ID:hNdT1t6QM レジスタの拡張命令が必要になる それはゼロコストではない http://mevius.5ch.net/test/read.cgi/tech/1683600652/372
373: デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) [sage] 2023/07/01(土) 10:45:55.45 ID:hNdT1t6QM 8bit,16bitの値を同サイズのレジスタに読む それを32bitへ拡張する http://mevius.5ch.net/test/read.cgi/tech/1683600652/373
374: デフォルトの名無しさん (ササクッテロラ Sp5f-kcaK) [] 2023/07/01(土) 10:49:09.01 ID:UYNjOrxwp そうなのか、知らんかった・・・ http://mevius.5ch.net/test/read.cgi/tech/1683600652/374
375: デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) [sage] 2023/07/01(土) 10:55:28.60 ID:hNdT1t6QM 8bitしかないのに32bitで読むと当然ごみが入るので何かしないといけない 逆に8bitだけ読んで何もしないとこちらもレジスタにゴミが残ってる 何もしないで使える場合なにかしらの仕組みがある そんなことするよりレジスタ拡張命令使った方がいい 通常の命令だけでなくてsimdにも用意されている http://mevius.5ch.net/test/read.cgi/tech/1683600652/375
376: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) [sage] 2023/07/01(土) 10:57:02.19 ID:7zrd4+jP0 俺も >>367 の意見に賛成。 UTF-32 の採用で何もかも良くなるわけではないが 少なくともコードポイント単位での扱いは楽になる。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/376
377: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) [sage] 2023/07/01(土) 10:58:34.38 ID:7zrd4+jP0 ちょうど Unicode 関連の本を読んでたんだが 右から左へ書く言語だとか それが入れ子になってる場合だとか、 そういうのにちゃんと配慮したソフトウェアが世の中にあるのは めちゃくちゃ頑張った人がいるんだなぁと有難みを感じてる。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/377
378: デフォルトの名無しさん (スププ Sd02-+VJx) [] 2023/07/01(土) 12:18:01.21 ID:W7avfgkdd 日本語も右から左に書く言語だ 正確には上から下と右から左ニダ http://mevius.5ch.net/test/read.cgi/tech/1683600652/378
379: デフォルトの名無しさん (ワッチョイ 17f0-mXgB) [sage] 2023/07/01(土) 12:20:52.99 ID:86MprtLh0 BiDiモード http://mevius.5ch.net/test/read.cgi/tech/1683600652/379
380: デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) [sage] 2023/07/01(土) 12:42:13.26 ID:ZV4XYgX9M 世界でも珍しい縦書き文化 http://mevius.5ch.net/test/read.cgi/tech/1683600652/380
381: デフォルトの名無しさん (ワッチョイ 0e79-p0MK) [sage] 2023/07/01(土) 15:53:40.98 ID:GgZZqhZy0 UTF32派の人ってWin32でW系API通す時に毎回変換するってこと? http://mevius.5ch.net/test/read.cgi/tech/1683600652/381
382: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) [sage] 2023/07/01(土) 16:08:08.30 ID:7zrd4+jP0 >>381 そうだよ。 作るアプリケーションがエディタ (またはシーケンシャルではない テキスト操作をする何か) であるという前提を置いているときなら という条件付きな話だが。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/382
383: デフォルトの名無しさん (ワッチョイ e2ad-hRAP) [sage] 2023/07/01(土) 17:26:11.76 ID:6RngsvF70 そもそもWin32でA系APIにutf8渡せないし http://mevius.5ch.net/test/read.cgi/tech/1683600652/383
384: デフォルトの名無しさん (ワッチョイ 7b9c-44el) [] 2023/07/01(土) 17:29:40.49 ID:ceIwatEY0 A系にはutf8渡せるんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1683600652/384
385: デフォルトの名無しさん (ワッチョイ e2ad-hRAP) [sage] 2023/07/01(土) 17:36:11.93 ID:6RngsvF70 渡せるという表現がまずかったかな 結果を気にしなければ、なんでも渡せるよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/385
386: デフォルトの名無しさん (ワッチョイ 06f2-fGW2) [sage] 2023/07/01(土) 17:43:00.61 ID:XU86fDmw0 >>384 Windows バージョン 1903 (2019 年 5 月の更新プログラム) 以降、ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/386
387: デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) [sage] 2023/07/01(土) 19:58:04.79 ID:Z2fZL/QQM A系はASCIIなのでunicode由来のutfもshift-jis などのMBCSも扱えない http://mevius.5ch.net/test/read.cgi/tech/1683600652/387
388: デフォルトの名無しさん (ワッチョイ 06f2-HE4y) [sage] 2023/07/01(土) 20:10:31.66 ID:XU86fDmw0 >>387 最近までは、-A API がレガシと見なされていました。 これは、何十年もの間、Windows が "Unicode" -W バリアントを推進していたためです。 しかし、最近のリリースの Windows では、ANSI コード ページと -A API を活用し、 新しい SKU で UTF-8 サポートを導入しています。 ANSI コード ページが UTF-8 に対して構成されている場合、-A API は UTF-8 で動作します。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/388
389: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) [sage] 2023/07/01(土) 20:13:40.75 ID:6ckc7dLGd >>387 以前からCP_ACPは日本語環境でシフトJISを扱えたはず。CP_ACPの解釈をCP_UTF8にすることができる設定と見なせる。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/389
390: デフォルトの名無しさん (ブーイモ MM8e-44el) [] 2023/07/01(土) 20:43:32.48 ID:B2exONcuM ASCIIしか考えてないアメリカ人の作ったプログラムでもUTF-8ならそれなりに動くよね strlenが正確な文字数を返してくれるわけではないけども http://mevius.5ch.net/test/read.cgi/tech/1683600652/390
391: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) [sage] 2023/07/01(土) 20:55:13.36 ID:6ckc7dLGd WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定すればUTF-8な環境でも動く。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/391
392: デフォルトの名無しさん (ワッチョイ 7f28-iz2R) [sage] 2023/07/01(土) 23:06:29.67 ID:5I1AeY3j0 そうなの? ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定しただけだと とりわけWideCharToMultiByte()の場合、文字コードの自動判別が介在する余地もなく、 ウィンドーズ内部表現のUTF-16がシフトJISのコードページ932に(指定通りに)変換されるだけなんじゃないの…… M$のページ見たら >マニフェストの ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。 >マニフェストの ActiveCodePage プロパティを使って と書いてあった マニフェストファイル変えたら中で何がどう切り替わるのかわ皆目わからんが、 ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定したら万事OKというよりは得心が行く http://mevius.5ch.net/test/read.cgi/tech/1683600652/392
393: デフォルトの名無しさん (ワッチョイ 06f2-HE4y) [sage] 2023/07/02(日) 00:11:45.31 ID:26TSX02F0 そういう話じゃない 〜A系のAPIの文字列引数にUTF8が使えるようになったという話だ http://mevius.5ch.net/test/read.cgi/tech/1683600652/393
394: デフォルトの名無しさん (ワッチョイ ce9a-EKe4) [sage] 2023/07/02(日) 00:28:14.28 ID:MfIRncIE0 >>390 >strlenが正確な文字数を返してくれるわけではないけども そもそも正確な文字数が必要な局面って? そもそもUnicodeにおける「文字」って http://mevius.5ch.net/test/read.cgi/tech/1683600652/394
395: デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) [sage] 2023/07/02(日) 00:43:33.66 ID:B6PMzb/YM A系ならstrlen、W系ならlstrlen使えば済む話では? http://mevius.5ch.net/test/read.cgi/tech/1683600652/395
396: デフォルトの名無しさん (ワッチョイ ce9a-EKe4) [sage] 2023/07/02(日) 01:40:17.87 ID:MfIRncIE0 >>377 Unicode自体と同様、文句もあるけど世界中が規格化標準化されるのはやはり 有益な面があるなあと思ったり 言語を完全に知らなくてもそういう規則に従えばまあまあのものが出来る そうやって自分もRTLなテキストを処理するコードを書いたことがあるし 日本語を(も)扱うコードだってどこかの外人が書いてるわけで そうだ、日本語だって戦前はRTL。あれ、英語はどうしてたんだろ.... 敵性言語だから ないことになってたのかなw そういえば、テキストだけじゃなくてUIのレイアウトも変わるし、テキストのスクロール 方向とかも変わるし、注意が必要だったり http://mevius.5ch.net/test/read.cgi/tech/1683600652/396
397: デフォルトの名無しさん (ワッチョイ cb02-ctHD) [] 2023/07/02(日) 04:10:12.63 ID:3Rb9PhMu0 Visual C++してもいいでしょうか? 特定の既定のライブラリの無視に「LIBCMT.lib」を設定して マルチスレッド使っても大丈夫でしょうか? もちろんランタイムライブラリの設定はマルチスレッドにしてます。 これでマルチスレッド使っても大丈夫でしょうか? http://mevius.5ch.net/test/read.cgi/tech/1683600652/397
398: 0397 (ワッチョイ cb02-ctHD) [] 2023/07/02(日) 04:46:51.92 ID:3Rb9PhMu0 ごめんなさい。自己解決しました。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/398
399: デフォルトの名無しさん (ワッチョイ 7f28-iz2R) [sage] 2023/07/02(日) 08:22:56.48 ID:cqAPSm8d0 >>393 何言ってるかわからんkwsk 過去にCreateFile(L"漢字.txt", ...)で作ったファイルを、 WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定するだけで CreateFileA(u8"漢字.txt", ...)で開けるようになったとしたら論理鉄器におかしい希ガス http://mevius.5ch.net/test/read.cgi/tech/1683600652/399
400: デフォルトの名無しさん (ワッチョイ c2fb-PY2F) [] 2023/07/02(日) 10:08:44.31 ID:idCQJgQa0 環境依存の文字コードを取り扱うA系の関数でコードページ65001(UTF8)をサポートしたという話か? 「最近のリリースのWindows」とやらが何年ごろの話か知らんが http://mevius.5ch.net/test/read.cgi/tech/1683600652/400
401: デフォルトの名無しさん (オイコラミネオ MMe7-hRAP) [sage] 2023/07/02(日) 10:21:10.68 ID:FpcWXL3uM 親切な人がいて上の方に書いてある http://mevius.5ch.net/test/read.cgi/tech/1683600652/401
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 601 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s